啟動jenkins 項目
安裝插件
注意
安裝完記得重啟Jenkins惠勒,否則新安裝的插件不會顯示哦紊选。
配置Gitee
在[Jenkins] > [系統(tǒng)管理] > [系統(tǒng)配置] > [Gitee配置] 配置 Gitee 信息:
- 鏈接名:輸入Gitee或隨便輸入你想要的名稱
- Gitee域名URL:輸入Gitee完整的URL地址 https://gitee.com
- 證書令牌:如沒有添加需要新建一個石洗,點(diǎn)擊添加(如下圖)
在gitee 生成 私人訪問令牌
在設(shè)置中找到私人令牌菜單,按提示生成一個即可被芳,然后將令牌填入jenkins 相應(yīng)位置即可
- Domain:選擇全局憑據(jù)
- 類型:選擇Gitee API令牌
- 范圍:選擇全局
- Gitee APIV5 私人令牌襟企,點(diǎn)擊獲取(opens new window)
- ID 和 描述就隨便寫不一樣的就行
添加完令牌就直接選擇就行,然后點(diǎn)擊【測試鏈接】寝凌,如果出現(xiàn)成功
則表示配置正確:
安裝NodeJS
因?yàn)槲覀兊腣ue項目是基于 NodeJS 來打包構(gòu)建的柒傻,所以需要在 Jenkins 中安裝插件:
配置NodeJS
在[系統(tǒng)管理] > [系統(tǒng)配置] > [全局工具配置] > [NodeJS] 點(diǎn)擊【NodeJS安裝】:
注意
NodeJS 版本不要選太高,選最新的LTS版本即可较木,否則可能因?yàn)榘姹静患嫒輰?dǎo)致構(gòu)建失敗红符,建議選擇版本和本地開發(fā)的版本相同,這樣就不會有問題了。
構(gòu)建任務(wù)配置
在 Jenkins 首頁點(diǎn)擊【新建任務(wù)】開始第一個流水線的構(gòu)建预侯,選擇構(gòu)建一個自由風(fēng)格的軟件項目 點(diǎn)擊保存即可創(chuàng)建構(gòu)建項目:
新建完成后進(jìn)入配置致开,流水線會按照 [General] > [源碼管理] > [構(gòu)建觸發(fā)器] > [構(gòu)建環(huán)境] > [構(gòu)建] > [構(gòu)建后操作]的步驟來執(zhí)行自動化任務(wù)。
源碼管理
在jenkins 容器中生成 ssh key
本項目jenkins 由docker 生成萎馅,所以進(jìn)入 docker 容器 到 ~/.ssh 目錄 下 通過指令 ssh-keygen -t rsa -C "email.com" -f filename_id_rsa 生成相應(yīng) 的公私匙
如果有多個倉庫要配置相應(yīng) 的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)容復(fù)制到此即可
選擇 Git 選項
- Repository URL: 創(chuàng)建的git項目地址
- Credentials:點(diǎn)擊添加一個憑據(jù)(注意 Gitee API Token 憑據(jù)不可用于源碼管理的憑據(jù),只用于gitee插件的 API 調(diào)用憑據(jù))
- 點(diǎn)擊【高級】 Advanced 按鈕糜芳,Name輸入origin飒货,Refspec輸入+refs/heads/:refs/remotes/origin/
- 指定分支:master
gitee 配置webhooks
進(jìn)入 項目倉庫 , 在菜單中選擇 【管理】
jenkins 推送地址 在下圖中找到
生成密匙
將上面的令牌填入gitee 中
增加構(gòu)建后操作實(shí)現(xiàn) CICD 全流程即可
配置Jenkins 對外域名
在Jenkins的控制臺中峭竣,單擊“Manage Jenkins” -> “Configure System” -> “Jenkins URL”塘辅。
-
點(diǎn)擊系統(tǒng)管理
image.png
-
打開系統(tǒng)配置
image.png -
location 修改后,就可以改變對外IP
image.png
gitlab 配置 webhooks
-
管理員登錄并進(jìn)入到項目會有如下圖的操作項
image.png
點(diǎn)擊左側(cè)菜單的webhook 配置相關(guān)信息
-
secret token 由 jenkins 配置中高級下面生成
image.png
在jenkins 配置項目的webhook中展開會有生成secret token 的操作
點(diǎn)擊 generate 按鈕就可以生成皆撩,如果一次失敗莫辨,多點(diǎn)幾次就可以。
至此 webhooks 就配置好了
Docker 容器網(wǎng)絡(luò)通訊
由于是通過宿主網(wǎng)橋進(jìn)行通訊毅访, 在容器內(nèi)沒有設(shè)置相應(yīng)的DNS 配置的話沮榜,是無法通過 域名訪問的,(沒有公網(wǎng)域名)
需要在docker-compose.yml 中增加下面的配置
jenkins 構(gòu)建 nuxt 項目配置
- 配置倉庫(確何已經(jīng)配置了SSH key)
-
配置 CICD 用的 webhooks
將jenkins 下圖中的 hooks URL 和secrect token 填入 gitlab webhooks 配置中的相應(yīng) 位置 并添加完成配置喻粹。
image.png
image.png
-
nuxt 項目要增加 node 構(gòu)建環(huán)境 (需要先安裝 nodejs 插件)
image.png
-
添加構(gòu)建步驟(寫shell 腳本 )
image.png
-
完成構(gòu)建后增加提交代碼至服務(wù)器并啟動應(yīng)用的指令(未完成)
image.png