docker + Jenkins + gitee + nuxt CICD 布署項目

  1. 啟動jenkins 項目

  2. 安裝插件

注意
安裝完記得重啟Jenkins,否則新安裝的插件不會顯示哦。

配置Gitee

在[Jenkins] > [系統(tǒng)管理] > [系統(tǒng)配置] > [Gitee配置] 配置 Gitee 信息:


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

在gitee 生成 私人訪問令牌

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


image.png
  • Domain:選擇全局憑據(jù)
  • 類型:選擇Gitee API令牌
  • 范圍:選擇全局
  • Gitee APIV5 私人令牌,點擊獲取(opens new window)
  • ID 和 描述就隨便寫不一樣的就行

添加完令牌就直接選擇就行,然后點擊【測試鏈接】,如果出現(xiàn)成功則表示配置正確:

安裝NodeJS

因為我們的Vue項目是基于 NodeJS 來打包構(gòu)建的,所以需要在 Jenkins 中安裝插件:

image.png

配置NodeJS

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

image.png

注意
NodeJS 版本不要選太高,選最新的LTS版本即可,否則可能因為版本不兼容導致構(gòu)建失敗,建議選擇版本和本地開發(fā)的版本相同,這樣就不會有問題了。

構(gòu)建任務配置

在 Jenkins 首頁點擊【新建任務】開始第一個流水線的構(gòu)建,選擇構(gòu)建一個自由風格的軟件項目 點擊保存即可創(chuàng)建構(gòu)建項目:

image.png

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

image.png

源碼管理

在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

image.png

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

添加gitee SSH KEY

image.png

按如圖添加


image.png
  • 類型: 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

進入 項目倉庫 , 在菜單中選擇 【管理】

image.png

jenkins 推送地址 在下圖中找到

image.png

生成密匙

image.png

將上面的令牌填入gitee 中


image.png

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

image.png

配置Jenkins 對外域名

在Jenkins的控制臺中,單擊“Manage Jenkins” -> “Configure System” -> “Jenkins URL”。

  1. 點擊系統(tǒng)管理


    image.png
  1. 打開系統(tǒng)配置


    image.png
  2. location 修改后,就可以改變對外IP


    image.png

gitlab 配置 webhooks

  1. 管理員登錄并進入到項目會有如下圖的操作項


    image.png

點擊左側(cè)菜單的webhook 配置相關(guān)信息


image.png
  1. secret token 由 jenkins 配置中高級下面生成


    image.png

在jenkins 配置項目的webhook中展開會有生成secret token 的操作


image.png

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

image.png

至此 webhooks 就配置好了


image.png

Docker 容器網(wǎng)絡(luò)通訊

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

image.png

jenkins 構(gòu)建 nuxt 項目配置

  1. 配置倉庫(確何已經(jīng)配置了SSH key)
image.png
  1. 配置 CICD 用的 webhooks
    將jenkins 下圖中的 hooks URL 和secrect token 填入 gitlab webhooks 配置中的相應 位置 并添加完成配置。


    image.png

    image.png
  1. nuxt 項目要增加 node 構(gòu)建環(huán)境 (需要先安裝 nodejs 插件)


    image.png
  1. 添加構(gòu)建步驟(寫shell 腳本 )


    image.png
  1. 完成構(gòu)建后增加提交代碼至服務器并啟動應用的指令(未完成)


    image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容