云計算
持續(xù)集成 自動化部署[代碼流水線管理
及 jenkins 和 gitlab 集成]
一、代碼流水線管理
pipeline 名詞顧名思義就是流水線的意思,因為公司可能會有很多項目。
如果使用 jenkins 構建完成后,開發(fā)構建項目需要一項一項點擊,比較麻煩。
所以出現 pipeline 名詞。
代碼質量檢查完畢之后,我們需要將代碼部署到測試環(huán)境上去,進行自動
化測試
88 gitlab-ctl start
89 /etc/init.d/jenkins start
新建部署代碼項目
點擊新建
sudo ssh 192.168.1.50 source /root/test.sh
溫馨提示: 執(zhí)行命令主要涉及的是權限問題
測試機創(chuàng)建測試腳本并給予執(zhí)行權限
1.50
[root@localhost ~]# vim test.sh#!/bin/bashecho hello world[root@localhost ~]# chmod x test.sh [root@localhost ~]# source test.sh hello worldjenkins服務器做免密登陸ssh 1.40
我們做無秘鑰有 2 種分案:
1、使用 jenkins 用戶將秘鑰分發(fā)給 192.168.1.50 上
2、使用 root 用戶將秘鑰分發(fā)給 192.168.1.50 上,如果使用 root 用戶還要進行 visudo 授權。因為 web 上默認執(zhí)行命令的用戶是 jenkins
(1)使用 jenkins 用戶將秘鑰分發(fā)給 192.168.1.50 上
[root@localhost ~]# ssh-copy-id root@192.168.1.50 復制用戶密鑰給測試機[root@localhost ~]# ssh 192.168.1.50[root@localhost ~]# ssh 192.168.1.50 source /root/test.shjenkins上測試
(2)使用 root 用戶將秘鑰分發(fā)給 192.168.1.50 上,如果使用 root 用戶還要進行 visudo 授權。因為 web 上默認執(zhí)行命令的用戶是 jenkins
授權 jenkins 用戶,使用 visudo 或者編輯配置文件/etc/sudoers
[root@localhost ~]# vim /etc/sudoers
jenkins all=(all) nopasswd:/usr/bin/ssh #93
#jenkins 授權所有主機,不需要密碼執(zhí)行 ssh。切記不要授權 all
jenkins測試構建
現在我們要將代碼質量管理和測試部署連接起來。
這時候就用到了 git 鉤子
我們需要安裝 jenkins 插件 parameterized
安裝插件
再次點擊項目設置的時候就會出現 trigger parameterized build on other
projects
最后點擊保存,點擊構建。我們查看效果
、
現在可以看到他們兩個的構建數是一起增長的
下載 pipeline。這樣只需要構建一個項目,就會幫我們完成所有相關項目 (剛剛已經裝完了)
我們點擊首頁 號,新建一個試圖
然后保存
pipeline 視圖如下:
點擊 run
這樣就先代碼質量進行管理,然后就開始部署了
構建成功后:測試一下
實驗完畢