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

相关推荐
lbb 小魔仙7 小时前
Python 项目 CI/CD 实战:用 GitHub Actions 搭建自动化测试、覆盖率与发布流水线
python·ci/cd·github
qq_3494479510 小时前
Jenkins如何创建一个只能查看固定项目的账号
运维·jenkins
cindershade11 小时前
报错之后,谁来证明它属于这次发布?前端错误治理的证据链设计
ci/cd·前端工程化
迷途呀1 天前
CI/CD 自动化部署实践:让代码提交后自动上线
linux·运维·nginx·ci/cd·自动化
qq_349447951 天前
阿里云centos7.9系统安装jenkins
服务器·阿里云·jenkins
旧梦星轨1 天前
Git Flow 工作流实践
git·gitee·gitlab·github
旧梦星轨2 天前
Github Flow 与 Gitlab Flow工作流实践解读
gitlab·github
嘴贱欠吻!2 天前
如何成为 CJMP 贡献者:AtomGit贡献流程与要求
git·ci/cd
hasty2 天前
一个 Git 分支名,如何穿透到 CI Runner 的 Shell?
git·ci/cd