1. 程式人生 > 其它 >|NO.Z.00042|——————————|CloudNative|——|CI/CD&Jenkins_pipeline操作.V16|-------------------------------------------|Jenkins_pipeline+Git持續部署應用|

|NO.Z.00042|——————————|CloudNative|——|CI/CD&Jenkins_pipeline操作.V16|-------------------------------------------|Jenkins_pipeline+Git持續部署應用|



[CloudNative:CI/CD&Jenkins_pipeline操作.V16]                                                    [Applications.CloudNative] [|Jenkins pipeline持續部署Java專案|]








一、Jenkins_pipeline+Git持續部署應用
### --- Jenkins結合gitlab使用

~~~     # 建立一個新的任務
~~~     ——>輸入專案的名稱,選擇構建只有分風格的軟體

二、將Jenkins與gitlab聯合
### --- Jenkins建立公鑰和私鑰
~~~     生成公鑰檔案

[[email protected] ~]# ssh-keygen
[[email protected] ~]# cat .ssh/id_rsa.pub
[[email protected] ~]# cat .ssh/id_rsa
~~~     # 在gitlab中新增公鑰id_rsa.pub
~~~     # 在jenkins中新增私鑰id_rsa:在首頁中,點選專案名稱的下拉監聽
~~~     # 建立ssh憑證:選擇SSH金鑰和證書,然後選擇直接輸入,將私鑰複製到下框中即可

~~~     ——>新增完成後,點選儲存
~~~     ——>選擇剛才建立的證書,完成後,選擇構建
~~~     # **選擇構建**
~~~     ——>拉到最底部,選擇使用shell指令碼
~~~     ——>選擇原始碼管理,先將gitlab的專案地址複製過來
~~~     ——>指令碼內容
~~~     # 建立測試環境
~~~     ——> 選擇構建後的操作,讓每次構建完成後都將結果傳送給管理員

[[email protected] ~]# mkdir -p /data/www
[[email protected] ~]# chown -R jenkins.jenkins /data/







三、驗證測試
### --- 測試手動整合
~~~     ——>回到主頁,點選右側的按鈕進行測試
~~~     ——>部署完成
~~~     ——>檢視部署日誌
~~~     ——>檢視部署結果

[[email protected] ~]# ll /data/www/
-rw-r--r-- 1 jenkins jenkins 4 11月 30 21:22 flag
-rw-r--r-- 1 jenkins jenkins 0 11月 30 21:22 README.md


四、自動測試(gitlab主動通知Jenkins測試)
### --- 自動測試(gitlab主動通知Jenkins測試)

~~~     # 該功能會使用到一個外掛 **gitlab plugin**
~~~     ——>配置gitlab認證
~~~     # 新增一個新的憑證
~~~     # 從gitlab的設定中將 token複製過來(需要手動建立token)
~~~     ——>將複製的token貼上到api token中,點ok
~~~     ——>在系統配置中找到**Gitlab** 將資訊進行填寫,Credentials 選擇剛剛建立對的即可
~~~     # 開啟專案,編輯專案的構建觸發器
~~~     # 在gitlab上配置連線jenkins ,將Jenkins的Secret token 與Build URL 複製到gitlab中
~~~     ——>注意: 在專案設定中的整合
~~~     # 儲存之前先程序測試,測試成功後進行儲存
~~~     # 在gitlab進行上傳檔案,可以測試。
~~~     ——>在日誌中顯示是 Started by GitLab push by Administrator 即表示自動整合成功








附錄一:
### --- 報錯現象:

~~~     很多朋友使用最新版本的gitlab做自動部署時,在增加web引數那一步,
~~~     點選test  push events時會報錯:Url is blocked: Requests to the local network are not allowed
### --- 解決方案:

~~~     ——>這是因為新版的gitlab為了安全預設禁止了本地區域網地址呼叫web hook
~~~     ——>我們在設定裡允許就行,具體步驟如下:








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)