Gitlab和Jenkins集成 实现CI (一)
Gitlab和Jenkins集成 实现CI (二)
Gitlab和Jenkins集成 实现CI (三)
自动部署
配置免密ssh
进入http服务器
生成ssh密钥
shell
ssh-keygen -t rsa
进入jenkins(容器)
拷贝公钥
shell
ssh-copy-id http服务器用户名@http服务器ip
#输入http服务器密码
配置jenkis构建触发器
生成拷贝脚本
shell
vi /var/jenkins_home/scp_dev_env.sh
#!/bin/sh
scp /var/jenkins_home/workspace/jenkins项目名称/* http服务器用户名@http服务器ip:/home/docker/www/项目根目录/
ssh http服务器用户名@http服务器ip 'composer -V' # 这里是php执行composer,如果是java可以执行maven等
# 设置执行权限
chmod +x /var/jenkins_home/scp_dev_env.sh
# 运行异常脚本,保证脚本无异常,可正常执行得到想要的结果
/bin/sh /var/jenkins_home/scp_dev_env.sh
#去http服务器根目录查看拷贝是否正确
配置构建步骤(Build Steps)
进入项目
Configure Build Steps Add build step 选择Run with timeout Run with timeout Time-out strategy 按照实际选择超时机制 Build Step 选择Execute shell Command 填写脚本路径
注意,如果无需超时设置,需要保证脚本无论执行多久一定成功,在Add build step的时候直接选择Execute shell,其他配置不变