日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jenkins部署三种构建方式的详细步骤

發布時間:2025/3/8 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jenkins部署三种构建方式的详细步骤 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

部署背景:

jenkins:???????????????????? CentOS 7.4C???????? IP:172.16.3.74

gitlab-11.5.3:???????????? CentOS 7.4D???????? IP:172.16.4.74

?

此上部署都是根據我之前的博客配置完成的;

?

jenkins有三種構建方式:

?????? 觸發式構建:用于開發環境部署,開發人員可以push代碼或者合并代碼到gitlab項目的master分支上,jenkins就部署代碼到對應服務器;

?????? 參數化構建:用于測試環境或者預上線環境部署,只需要在jenkins的界面傳入對應參數即可執行部署;

?????? 定時構建:在參數化基礎上添加,可以每天定時打包;

?

觸發式構建部署過程:

1.首先,我們需要在jenkins主機上生成root用戶的公鑰和jenkins用戶的公鑰;

因為jenkins用戶默認沒有bash;所以我們需要給jenkins設定一個bash,用以輸入命令;

[root@master?testProject]#?grep?jenkins?/etc/passwd jenkins:x:982:976:Jenkins?Automation?Server:/var/lib/jenkins:/bin/false [root@master?~]#usermod?-s?/bin/bash?jenkins [root@master?testProject]#?grep?jenkins?/etc/passwd jenkins:x:982:976:Jenkins?Automation?Server:/var/lib/jenkins:/bin/bash

?

2.生成公鑰:

[root@master?~]#?ssh-keygen?-t?rsa [root@master?~]#?cat?.ssh/id_rsa.pub ssh-rsa?AAAAB3NzaC1yc2EAAAADAQABAAABAQCq4LhWeHNqq34B7j2uL4Ss4EJWyZkWeNHrgsN/2IkaVPatLEJliDHGnPVnKQEejUmApjRofTzJ6eHryzr/7NYNYVoYY08gpVYer2Tct0EWp7V6IA+8OUrMYZYGXLVEBaj/SsTlp23sPZKYUfshGW4wFMBsTGtSNspsSl2MyBnNbO/VDNZUtkx18UwBocBdOLM0ogaT1Taa+/XOtTYs5tP1LWfZA/Wcbwih+9mZFZD55wsyUgIGEgQd9M88lhbHKzjTU9bVUPBOLwQVdcnsd5o/KduNidwY3+Pd+75hDXwE6o4xh5M0+pd6M+KyDMQLN8ZD51P1+91IDvp2W9uEQDCf?root@master.ljy.com

?

[root@master?~]#?su?-?jenkins -bash-4.2$?ssh-keygen?-t?rsa -bash-4.2$?cat?.ssh/id_rsa.pub ssh-rsa?AAAAB3NzaC1yc2EAAAADAQABAAABAQC6j4gWxtlwzuwEDBOHmuchiZgNRAdNTLHj+70TJY+lqTKM4YkYHvdD6ZXtmTafrHW5onMzzzdNr3xnsvuGVdxc7hzJ5KZ27bWAo4Ka2IhH2+KXaKxooqcVOsrHdzEOsoOM9fLgLzZgn674NRZky4lZTNxFb9Iu8nu3EgjIa2Juio/DM+IPmipy4u+qHWoJ2RJqVuNh+qiSrpXXnwYLEB28MoHbCZa2otHoIITAekYvTJfIyqfl5NT3IXG4+AaWhQ0sTsEw3qpB4Tgi3FTtVuVXvp0QrvCCN6UKS1/nIcaNU9KFak4bGjv7V7uE2MexWOjacLWuxByuF4/hLca08a0F?jenkins@master.ljy.com

?

?

3.把生成的公鑰文件(.ssh/id_rsa.pub內容)復制到gitlab服務器上:

添加完成之后。


注意:我們需要在jenkins用戶登錄中對root用戶進行免密認證,否則在我們進行觸發式構建的時候,會執行不成功,出現 Host key verification failed錯誤,會讓我們功虧一簣,因為jenkins默認是jenkins用戶執行我們設置的命令,而我們腳本一旦有ssh root@HOST_IP的時候,那么jenkins就需要登錄為root用戶執行后邊的命令,我們就讓jenkins免密登錄root即可解決;

?

[root@master?~]#登出 Connection?to?172.16.3.74?closed. -bash-4.2$?ssh-copy-id?-i?.ssh/id_rsa.pub?root@172.16.3.74 /bin/ssh-copy-id:?INFO:?Source?of?key(s)?to?be?installed:?".ssh/id_rsa.pub" /bin/ssh-copy-id:?INFO:?attempting?to?log?in?with?the?new?key(s),?to?filter?out?any?that?are?already?installed /bin/ssh-copy-id:?INFO:?1?key(s)?remain?to?be?installed?--?if?you?are?prompted?now?it?is?to?install?the?new?keys root@172.16.3.74's?password:Number?of?key(s)?added:?1Now?try?logging?into?the?machine,?with:???"ssh?'root@172.16.3.74'" and?check?to?make?sure?that?only?the?key(s)?you?wanted?were?added.-bash-4.2$

?

5.找到我們創建的gitlab庫,并下載至jenkins主機上;

下載過程;

[root@master?~]#?git?config?--global?user.name?ljy [root@master?~]#?git?config?--global?user.email?ljy@123.com [root@master?~]#?git?clone?git@172.16.4.74:/root/testProject

6.創建觸發式任務;

7.選擇git Repository的URL;

8.設定觸發條件;

9.創建觸發腳本并寫入觸發shell;

[root@master?~]#cd?testProject/ [root@master?testProject]#cat?jenkins_trigger.sh #!/bin/bash # echo?"test?successful" [root@master?testProject]#chmod?+x?jenkins_trigger.sh

10.進入jenkins à 全局安全設置;

把此選項的取消勾選,否則jenkins認為gitlab請求不合法;

11(可選).我們可以設置一個API token;

?????? 輸入名稱,會輸出一個token,我們需要把token復制下來;

12.進入gitlab服務器,添加一個webhooks;

URL格式:

?

http://name:token@JENKINS_HOST_IP/job/JOB_NAME/build?token=BUILD_TOKEN

比如我設置的:

http://ljy:11b8ddbc06578b2bc23961a5e56ccd639d@172.16.3.74:8080/job/fastjson/build?token=hehe

注意:如果我們是gitlab-10.6以后的版本,我們會無法創建,出現一個requests to the local network are not allowed的紅色報警信息,這時我們需要允許gitlab訪問本地網絡,默認不允許訪問本地網絡;

13.我們對設置好的webhooks進行Test

14.出現一個HTTP 201的返回值即證明成功;


15.進入jenkins查看是否成功;

返回值為SUCCESS即為成功;



參數化構建就相對簡單一點;

1.依舊是創建一個任務;

2. 任務內容:

創建一個參數腳本;

[root@master?~]#cd?testProject/ [root@master?testProject]#vim?jenkins_paramter.sh [root@master?testProject]#cat?jenkins_paramter.sh #!/bin/bash # git_pro(){echo?"pull?$1?code" }git_pro?$1 [root@master?testProject]# [root@master?testProject]#chmod?+x?jenkins_paramter.sh [root@master?testProject]#

3.保存以后,開始執行此任務;

顯示SUCCESS即為成功;


定時構建

1.定時構建依據在參數化基礎之上,選擇一個臨近的時間;

2.可以用參數化構建的腳本;也可以新建一個腳本;

3.測試;

4.顯示SUCCESS即為成功;


至此:三種構建方式已經部署完畢;作為公司常用工具,這個技能還是很必要的;

轉載于:https://blog.51cto.com/liujingyu/2330211

總結

以上是生活随笔為你收集整理的jenkins部署三种构建方式的详细步骤的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。