|NO.Z.00042|——————————|CloudNative|——|CI/CD&Jenkins_pipeline操作.V16|-------------------------------------------|Jenkins_pipeline+Git持續部署應用|
阿新 • • 發佈:2022-03-28
[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)