jenkins之pipeline

持續集成+自動化部署[代碼流水線管理

及 Jenkins 和 gitlab 集成]

一、代碼流水線管理
Pipeline 名詞顧名思義就是流水線的意思,因爲公司可能會有很多項目。
如果使用 jenkins 構建完成後,開發構建項目需要一項一項點擊,比較麻煩。
所以出現 pipeline 名詞。
代碼質量檢查完畢之後,我們需要將代碼部署到測試環境上去,進行自動
化測試
88 gitlab-ctl start
89 /etc/init.d/jenkins start
新建部署代碼項目
點擊新建
jenkins之pipeline
jenkins之pipeline
sudo ssh 192.168.1.50 source /root/test.sh
jenkins之pipeline
溫馨提示: 執行命令主要涉及的是權限問題

測試機創建測試腳本並給予執行權限
1.50
[root@localhost ~]# vim test.sh
#!/bin/bash
echo "hello world"
[root@localhost ~]# chmod +x test.sh
[root@localhost ~]# source test.sh
hello world

Jenkins服務器做免密登陸ssh 1.40
我們做無祕鑰有 2 種分案:
1、使用 jenkins 用戶將祕鑰分發給 192.168.1.50 上
2、使用 root 用戶將祕鑰分發給 192.168.1.50 上,如果使用 root 用戶還要進行 visudo 授權。因爲 Web 上默認執行命令的用戶是 jenkins

(1)使用 jenkins 用戶將祕鑰分發給 192.168.1.50 上
[root@localhost ~]# ssh-copy-id [email protected] 複製用戶密鑰給測試機
[root@localhost ~]# ssh 192.168.1.50

[root@localhost ~]# ssh 192.168.1.50 source /root/test.sh

Jenkins上測試
jenkins之pipeline
jenkins之pipeline

(2)使用 root 用戶將祕鑰分發給 192.168.1.50 上,如果使用 root 用戶還要進行 visudo 授權。因爲 Web 上默認執行命令的用戶是 jenkins
jenkins之pipeline
jenkins之pipeline

授權 jenkins 用戶,使用 visudo 或者編輯配置文件/etc/sudoers
[root@localhost ~]# vim /etc/sudoers
jenkins ALL=(ALL) NOPASSWD:/usr/bin/ssh #93
#jenkins 授權所有主機,不需要密碼執行 ssh。切記不要授權 ALL

Jenkins測試構建
jenkins之pipeline
jenkins之pipeline

現在我們要將代碼質量管理和測試部署連接起來。
這時候就用到了 git 鉤子
我們需要安裝 jenkins 插件 parameterized
安裝插件

jenkins之pipeline
jenkins之pipeline
jenkins之pipeline

jenkins之pipeline

再次點擊項目設置的時候就會出現 Trigger parameterized build on other
projects
jenkins之pipeline
jenkins之pipeline
最後點擊保存,點擊構建。我們查看效果

jenkins之pipeline

jenkins之pipeline

jenkins之pipeline

現在可以看到他們兩個的構建數是一起增長的

下載 pipeline。這樣只需要構建一個項目,就會幫我們完成所有相關項目 (剛剛已經裝完了)

我們點擊首頁+號,新建一個試圖

jenkins之pipeline
jenkins之pipeline
jenkins之pipeline
jenkins之pipeline
然後保存
pipeline 視圖如下:
jenkins之pipeline
點擊 Run
jenkins之pipeline
這樣就先代碼質量進行管理,然後就開始部署了
構建成功後:測試一下
jenkins之pipeline

實驗完畢

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章