啟動jenkins 項目
安裝插件
注意
安裝完記得重啟Jenkins,否則新安裝的插件不會顯示哦。
配置Gitee
在[Jenkins] > [系統(tǒng)管理] > [系統(tǒng)配置] > [Gitee配置] 配置 Gitee 信息:

- 鏈接名:輸入Gitee或隨便輸入你想要的名稱
- Gitee域名URL:輸入Gitee完整的URL地址 https://gitee.com
- 證書令牌:如沒有添加需要新建一個,點擊添加(如下圖)

在gitee 生成 私人訪問令牌
在設(shè)置中找到私人令牌菜單,按提示生成一個即可,然后將令牌填入jenkins 相應位置即可

- Domain:選擇全局憑據(jù)
- 類型:選擇Gitee API令牌
- 范圍:選擇全局
- Gitee APIV5 私人令牌,點擊獲取(opens new window)
- ID 和 描述就隨便寫不一樣的就行
添加完令牌就直接選擇就行,然后點擊【測試鏈接】,如果出現(xiàn)成功則表示配置正確:
安裝NodeJS
因為我們的Vue項目是基于 NodeJS 來打包構(gòu)建的,所以需要在 Jenkins 中安裝插件:

配置NodeJS
在[系統(tǒng)管理] > [系統(tǒng)配置] > [全局工具配置] > [NodeJS] 點擊【NodeJS安裝】:

注意
NodeJS 版本不要選太高,選最新的LTS版本即可,否則可能因為版本不兼容導致構(gòu)建失敗,建議選擇版本和本地開發(fā)的版本相同,這樣就不會有問題了。
構(gòu)建任務配置
在 Jenkins 首頁點擊【新建任務】開始第一個流水線的構(gòu)建,選擇構(gòu)建一個自由風格的軟件項目 點擊保存即可創(chuàng)建構(gòu)建項目:

新建完成后進入配置,流水線會按照 [General] > [源碼管理] > [構(gòu)建觸發(fā)器] > [構(gòu)建環(huán)境] > [構(gòu)建] > [構(gòu)建后操作]的步驟來執(zhí)行自動化任務。

源碼管理
在jenkins 容器中生成 ssh key
本項目jenkins 由docker 生成,所以進入 docker 容器 到 ~/.ssh 目錄 下 通過指令 ssh-keygen -t rsa -C "email.com" -f filename_id_rsa 生成相應 的公私匙
如果有多個倉庫要配置相應 的config
將容器目錄 下的 id_rsa_pub 文件的內(nèi)容配置到gitee中
在gitee配置SSH

按操作提示輸入 內(nèi)容并保存完成 配置。
添加gitee SSH KEY

按如圖添加

- 類型: SSH USERNAME with private key
- id ,描述 隨便寫
- username 填寫 gitee 中的用戶名
- enter private key 將 jenkins 中生成的 id_rsa 文件內(nèi)容復制到此即可
選擇 Git 選項
- Repository URL: 創(chuàng)建的git項目地址
- Credentials:點擊添加一個憑據(jù)(注意 Gitee API Token 憑據(jù)不可用于源碼管理的憑據(jù),只用于gitee插件的 API 調(diào)用憑據(jù))
- 點擊【高級】 Advanced 按鈕,Name輸入origin,Refspec輸入+refs/heads/:refs/remotes/origin/
- 指定分支:master
gitee 配置webhooks
進入 項目倉庫 , 在菜單中選擇 【管理】

jenkins 推送地址 在下圖中找到

生成密匙

將上面的令牌填入gitee 中

增加構(gòu)建后操作實現(xiàn) CICD 全流程即可

配置Jenkins 對外域名
在Jenkins的控制臺中,單擊“Manage Jenkins” -> “Configure System” -> “Jenkins URL”。
-
點擊系統(tǒng)管理
image.png
-
打開系統(tǒng)配置
image.png -
location 修改后,就可以改變對外IP
image.png
gitlab 配置 webhooks
-
管理員登錄并進入到項目會有如下圖的操作項
image.png
點擊左側(cè)菜單的webhook 配置相關(guān)信息

-
secret token 由 jenkins 配置中高級下面生成
image.png
在jenkins 配置項目的webhook中展開會有生成secret token 的操作

點擊 generate 按鈕就可以生成,如果一次失敗,多點幾次就可以。

至此 webhooks 就配置好了

Docker 容器網(wǎng)絡(luò)通訊
由于是通過宿主網(wǎng)橋進行通訊, 在容器內(nèi)沒有設(shè)置相應的DNS 配置的話,是無法通過 域名訪問的,(沒有公網(wǎng)域名)
需要在docker-compose.yml 中增加下面的配置

jenkins 構(gòu)建 nuxt 項目配置
- 配置倉庫(確何已經(jīng)配置了SSH key)

-
配置 CICD 用的 webhooks
將jenkins 下圖中的 hooks URL 和secrect token 填入 gitlab webhooks 配置中的相應 位置 并添加完成配置。
image.png
image.png
-
nuxt 項目要增加 node 構(gòu)建環(huán)境 (需要先安裝 nodejs 插件)
image.png
-
添加構(gòu)建步驟(寫shell 腳本 )
image.png
-
完成構(gòu)建后增加提交代碼至服務器并啟動應用的指令(未完成)
image.png









