自动化部署之jenkins自动触发构建和发布
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化部署之jenkins自动触发构建和发布相关的知识,希望对你有一定的参考价值。
一、下载gitlab plugin
jenkins-->系统管理-->管理插件-->下载并安装gitlab plugin
二、配置gitlab认证
路径:Jenkins-->Credentials-->System-->Global credentials(unrestricted)-->Add Credentials
1、Kind选择Gitlab API token
2、其中API token填写gitlab中有库权限的账号
3、ID填写用户账号
gitlab生成Api token,将生成的token填入上面的证书内。
三、选择连接
路径:系统管理-->系统设置
1、填写连接名
2、填写gitlab访问URL
3、选择gitlab认证
3、测试连接
四、配置任务在job配置中选择gitlab connection:gitlab
五、任务配置
在job配置界面
1、勾选 Build when a change is pushed to GitLab. GitLab CI Service URL: http://192.168.56.12:8080/project/php-deploy
2、选择push events 时间触发构建
3、选择分支过滤(此处可以根据不同的需求来使用过滤功能)
4、secret token需要填入gitlab项目中的webhook
在gitlab中找到项目-->setting-->Integrations配置
填写在上图生成的链接:
URL:http://192.168.56.12:8080/project/php-deploy
Secret Token:3f199086a22c54957579966e34ad120a
点击Add webhook
测试是否生效:点击test-->选择push event会跳转到Hook excuted successfully:HTTP 200
六、构建发布php项目
在linux-node1上安装nginx,初始同步了线上代码,写入一个index.html。如图:
[[email protected] ~]# ll /data/www/php-deploy/ total 12 -rw-r--r-- 1 root root 28 Dec 23 15:45 index.html -rw-r--r-- 1 root root 12 Dec 21 16:11 new.html -rw-r--r-- 1 root root 19 Dec 21 16:11 readme [[email protected] ~]# cat /data/www/php-deploy/index.html <h1>welcome to beijing</h1>
模拟程序员在linux-node2上进行修改代码,并提交到gitlab的master分支上
[[email protected] app1]# pwd /root/php/app1 [[email protected] app1]# echo "Welcome to use Jenkins and Gitlab" > index.html [[email protected] app1]# git status # On branch master # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # #modified: index.html # no changes added to commit (use "git add" and/or "git commit -a") [[email protected] app1]# git add . [[email protected] app1]# git commit -m "jenkins + gitlab" [master 7313bdd] jenkins + gitlab 1 file changed, 1 insertion(+), 1 deletion(-) [[email protected] app1]# git push origin master Counting objects: 5, done. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 334 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To [email protected]:java/app1.git dd37af6..7313bdd master -> master
到此,自动触发和发布就完成了!这只是一个简单的构建发布,作为内部测试使用还是可以的!生产使用,有待优化!
以上是关于自动化部署之jenkins自动触发构建和发布的主要内容,如果未能解决你的问题,请参考以下文章
码云Webhook触发Jenkins自动构建 - Jenkins演练
jenkins系列3-gitlab webhook,jenkins自动构建
jenkins系列3-gitlab webhook,jenkins自动构建
CI/CD技术专题「Jenkins实战系列」如何通过Gitlab对接Jenkins构建提交自动触发部署构建体系指南(上部)