Jenkins03-GitLib+Docker實現CI/CD

  記錄一下 如何使用Jenkins實現CI/CD 

前提:已有gitlib 並且已經創建完項目

1、Jenkins創建項目 我這裏以maven項目爲例

2、項目 -  配置

此處我以阿里雲gitlib爲例 當然也可以自己搭gitlib  一樣的道理,設置好倉庫url  和 Credentials  這個是連接gitlib倉庫的賬號密碼

阿里雲gitlib賬號在 code首頁 - 設置 - 個人設置

密碼在 code首頁 - 設置 - 密碼  第一次使用  請直接點忘記密碼  然後通過郵箱設置密碼

3、創建遠程觸發webHook

紅線處是我們的gitlib觸發Jenkins的Webhook

4、gitlib設置Jenkins的WebHook

在code 阿里雲首頁 進入一個項目 -  設置 -  WebHooks

增加wehoooks後 可以點一下測試  如果返回403則表示 Jenkins不允許匿名訪問  這時候我們要在Jenkins配置一下權限:

進入Jenkins - 系統設置 - 全局安全配置

我們勾選匿名用戶允許觸發任務

現在可以再測試一下  是否返回200 OK

接下來有的同學會問  我git上有多個分支  Jenkins下每個分支一個項目   那我向git倉庫推送  然後觸發Jenkins webhook的時候  Jenkins怎麼知道我是哪一個分支呢,其實Jenkins也想到了這一點  提供了分支識別  我們進入 Jenkins - 項目 - 配置 -  構建觸發器 -  高級展開

如下圖:

 include這裏填入分支名稱即可(下面警告說找不到這個分支  不用管它) 

好了  這樣Jenkins只會處理當前觸發Push events的分支

5、執行自動構建(CI)

Jenkins拉完代碼之後  默認是不會進行任何操作的 我們要讓他執行自動構建 

項目設置:

因爲是maven項目  Jenkins拉完代碼後會自動執行maven構建命令

6、添加構建後的操作

我這裏構建後讓他執行一些命令 讓他執行CD

這裏sshServer 是本地 大家也可以生成sshKey登錄 我這裏爲了方便使用的是密碼  大家如果沒有sshServer 可以去系統設置 - Publish over SSH 設置 創建

7、執行自動部署(CD)

構建完成後臺 自動部署

結合docker思路:

 ①停止舊容器

②刪除舊容器

③刪除舊鏡像

④構建鏡像

⑤run鏡像

這裏是我的步驟:

這裏使用的是maven的docker插件  其實就是自動寫Dockerfile文件的  大家也可以自己寫Dockerfile哈

PS:我這裏是開發環境  生產環境千萬別這樣幹哈  因爲會造成業務中斷

生產環境思路:

①刪除舊鏡像

②構建新鏡像

③登錄docker私庫

④push鏡像至docker私庫

⑤生產環境手動執行更新

下面是我的步驟 僅供參考

註釋部分是使用docker命令方式  我使用的是maven插件方式  一樣的道理

 

至此 我們實現了CD即自動部署   也是最簡化版的DevOps  但是小微企業應該夠用了

 

 

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