Gitlab和Jenkins集成 实现CI (三)

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,其他配置不变

相关推荐
世事如云有卷舒9 小时前
Ubunt20.04搭建GitLab服务器,并借助cpolar实现公网访问
linux·服务器·gitlab
ldj20201 天前
Jenkins 部署脚本
jenkins
你想考研啊1 天前
三、jenkins使用tomcat部署项目
运维·tomcat·jenkins
你想考研啊1 天前
四、jenkins自动构建和设置邮箱
运维·jenkins
Code blocks1 天前
使用Jenkins完成springboot项目快速更新
java·运维·spring boot·后端·jenkins
会又不会1 天前
Jenkins-Email Extension 插件插件
运维·jenkins
少女续续念2 天前
2025年 CI/CD 流水线对比:国产化 DevSecOps 谁主沉浮?
ci/cd
HalukiSan2 天前
如何提交PR
git·gitlab·github
东林牧之2 天前
CICD[软件安装]:docker安装gitlab
docker·容器·gitlab
东林牧之2 天前
CICD[导航]、docker+gitlab+harbor+jenkins从安装到部署
docker·gitlab·jenkins