一.简介
Jenkins实现CD持续交付持续部署方案通常涉及以下步骤:
配置Jenkins以监听Git仓库的变更或定时检查变更。
当检测到代码更新时,Jenkins会触发构建流程。
构建流程可以包括单元测试、代码分析、构建部署包等步骤。
构建完成后,Jenkins可以将部署包传输到目标服务器。
在目标服务器上,Jenkins可以执行部署脚本来更新应用。
Jenkins实现CD持续交付持续部署实现方案:
通过jenkins执行shell实现
通过jenkins的插件Publish Over SSH实现
通过jenkins执行Ansible剧本、Ad-hoc实现
通过jenkins执行docker命令实现
通过jenkins交付到kubernetes
通过jenkins执行shell实现的流程图
二.通过jenkins执行shell实现 示例
1.jenkins安装gitlab插件 GitLab和Generic Webhook Trigger都可以安装上
2.安装完成后 General---构建触发器---可看到gitlab webhook和genetic webhook
#web hook的URL
http://192.168.77.150:8080/project/dev%E6%B5%8B%E8%AF%95%E7%8E%AF%E5%A2%83/04-webhook-autodev-job
3.创建工程
新建任务 在dev测试环境目录
General---丢弃旧的构建---保留7天30个
源码管理---Git---添加仓库地址和认证
构建触发器---选gitlab webhook
高级---生成token
#生成的token
0032e74d8a62289070923d16b232270a
Build Steps---添加命令
echo "当前拉取的版本为:最新版"
#打包
tar zcf /tmp/Shell_Script.tar.gz .
#分发
scp /tmp/Shell_Script.tar.gz root@192.168.77.142:/tmp
#解压
ssh root@192.168.77.142 "tar xf /tmp/Shell_Script.tar.gz -C /app/tools"
#执行
ssh root@192.168.77.142 "cd /app/tools/Check_script/bash && sh CentOS_Check_Script.sh"
4.gitlab配置
#web hook的URL
http://192.168.77.150:8080/project/dev%E6%B5%8B%E8%AF%95%E7%8E%AF%E5%A2%83/04-webhook-autodev-job
#生成的token
0032e74d8a62289070923d16b232270a
进入项目界面
webhook---填写钩子的URL和令牌
触发来源:推送发和合并
去选勾选SSL验证 添加webhook
报错:Url is blocked: Requests to the local network are not allowed
原因:内网屏蔽了这个钩子URL
解决:gitlab开启允许webhook对本地网络的访问
创建后测试钩子webhook
jenkins验证测试
git推送验证
#查看远程认证
git remote -v
#添加到缓存区
git add .
#提交到本地仓库
git commit -m "v1.0"
#打标签
git tag -a v1.0 -m "v1.0"
#推送到远程仓库
git push -u origin --all
git push -u origin --tags
jenkins验证