Note: 本次 Jenkins 服務安裝,伺服器以 CentOS 7 系統為例,且以 root 使用者啟動並執行服務。
本篇 Jenkins 使用指南,將簡要概述一下 Jenkins 服務的以下初級應用:
- 管理與配置
- 訪問 Jenkins 服務管理頁面
- admin 使用者的密碼設定及找回
- 使用者建立
- 外掛安裝及其配置
- 建立常規構建
- 小貼士
I. 管理與配置
1. 訪問 Jenkins 服務管理頁面
Jenkins 服務安裝並啟動成功後,即可通過以下地址訪問其服務管理頁面:
http://{YOUR_IP}:{YOUR_PORT}/
eg. 127.0.0.1:8080/
2. admin 使用者的密碼設定及找回
初次訪問 Jenkins 服務管理頁面,會有系統提醒輸入初始使用者 admin 的初始密碼,初始密碼的獲取方式為:
$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
# Ctrl + Insert 複製
若上述過程發生意外,無法找回密碼,則選擇重置初始密碼配置:
$ cd /var/lib/jenkins/
# 刪除配置檔案:
$ sudo rm -f config.xml
# 重啟 jenkins 服務:
$ sudo systemctl restart jenkins.service
# 此時初始使用者 admin 的初始密碼已被重置:
$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
# Ctrl + Insert 複製
3. 使用者建立
登入 Jenkins 服務管理頁面後,前往 Manage Jenkins > Manage Users,進入使用者管理頁面,建立使用者即可。
II. 外掛安裝及其配置
Note: 此處以 Gitee Plugin 安裝為例。
1. 安裝外掛 Gitee Plugin
- 前往 Manage Jenkins -> Manage Plugins -> Available
- 在下方可選列表中勾選 Gitee Plugin
- 點選 Download now and install after restart
- 勾選重啟服務
2. 新增 Gitee 連結配置
- i. 前往 Manage Jenkins -> Configure System -> Gitee Configuration -> Gitee connections
- ii. 在 Connection name 中輸入 Gitee 或者你想要的名字
- iii. 在 Gitee host URL 中輸入 Gitee 完整 URL地址: gitee.com (OR: Gitee 私有化客戶輸入部署的域名)
- iv. Credentials 中如還未配置 Gitee APIV5 私人令牌,點選 Add - > Jenkins :
- a. Domain 選擇 Global credentials
- b. Kind 選擇 Gitee API Token
- c. Scope 選擇你需要的範圍
- d. 在 Gitee API Token 中輸入你的 Gitee 私人令牌,獲取地址:gitee.com/profile/personal_access_...
- e. 在 ID, Descripiton 中輸入你想要的 ID 和描述內容 (所填 ID 保證其唯一性即可)。
- v. 在 Credentials 中選擇配置好的 Gitee APIV5 Token
- vi. 點選 Advanced ,可配置是否忽略 SSL 錯誤(視您的Jenkins環境是否支援),並可設定連結測超時時間(視您的網路環境而定)
- vii. 點選 Test Connection 測試連結是否成功,如失敗請檢查以上 iii, v, vi 步驟。
3. 生成並新增 SSH 公鑰
如上所述,當前 Jenkins 服務的執行使用者為 root,則將 root 使用者下的 SSH 公鑰新增至 gitee 使用者配置中:
$ sudo cat /root/.ssh/id_rsa.pub
# Ctrl + Insert 複製
若 /root/ 目錄下從未生成過 SSH 公鑰,則:
$ sudo ssh-keygen -t rsa -C "root@YOUR_IP"
...
$ sudo cat /root/.ssh/id_rsa.pub
# Ctrl + Insert 複製
III. 建立常規構建
1. 新建構建專案
前往 Jenkins 服務管理頁面首頁,即 Dashboard,點選 New Item 建立構建專案, name 輸入 ‘GiteeTest’,選擇 Freestyle project,儲存,即可建立構建專案。
2. 配置 General (通用)
- 填寫專案描述 Description
- Gitee connection (Gitee 連結) 下選擇之前配置好的 Gitee 外掛配置(即:Connection name, eg. Gitee)
3. 配置 Source Code Management (原始碼管理)
- i. 選擇 Git
- ii. Repositories:
- a. Repository URL: eg. git@gitee.com:user_name/repository_name.git
- b. Credentials: 選擇 Add Credentials 新增認證:
- Domain: 選擇 Global Credentials
- Kind: SSH Username with private key
- Scope: Global
- ID: 所填 ID 保證其唯一性即可
- Description: 填寫描述內容
- Username(此為 jenkins 服務的執行使用者): root
- Private Key: Enter Directly 直接複製黏貼上述 SSH 公鑰對應的 SSH 私鑰(/root/.ssh/id_rsa)
- Add: 最後點選 Add 新增認證
- c. Advanced 高階選項:
- Name 欄位可以留空或者輸入 origin (這個 origin 就是 git pull remote_origin remote_branch:local_branch 中的 remote_origin)
- Refspec 欄位可以留空或者輸入: +refs/heads/:refs/remotes/origin/ +refs/pull//MERGE:refs/pull//MERGE (預設值為: +refs/heads/:refs/remotes/origin/)
- iii. Branches to build: 新增你所需要管理的 git 分支,例如:
- origin/master
- origin/dev
4. 配置 Build Triggers (構建觸發器)
簡要介紹兩種常用的構建觸發方式:
- Build periodically 週期性構建: 即,定時任務,eg. H/30 * * * * * 每30分鐘構建一次
- Gitee webhook 觸發構建,需要在 Gitee webhook 中填寫 URL:
http://*******
- 勾選
接受 Pull Requests
&忽略 Pull Request 衝突
兩個配置選項即可 - 其他配置不太需要改動
- 以上配置即可實現,當指定分支的 PR 被管理員接受時,自動觸發構建部署行為
- Gitee WebHook 密碼:點選
生成
按鈕,生成新的Gitee WebHook 密碼
- 前往 Gitee 線上專案倉庫的管理頁面(eg. https://gitee.com/user_name/repository_name),選擇 Settings 設定,進入:
- 選擇 WebHooks,進入 WebHooks setting 頁面
- 選擇 Add 新增新的 WebHooks
- URL:填寫 上面的那個 Gitee Webhook 觸發構建設定中的 URL
- WebHook 密碼:填寫 上面的那個 Gitee Webhook 觸發構建設定中生成的
Gitee WebHook 密碼
- 點選 Add 確定新增
- 勾選
5. 配置 Build (構建)
Note: 本環節所涉及的 Shell 指令碼執行於本地伺服器 (即:Jenkins 服務所在的部署伺服器),因此,執行 Shell 指令碼的使用者為 root。
點選 “增加構建步驟”,選擇 “Execute shell”,然後在 Shell 命令文字框內輸入如下構建部署 Shell 指令碼:
cd /home/www/project_name/
git fetch --all
git checkout branch_name
git pull origin branch_name:branch_name
chown -R www:www /home/www/project_name/
# some other shell scripts ...
...
以上的 Shell 指令碼,即可實現以下效果:
當某一 Git 操作觸發了 Jenkins 的構建操作,伺服器端的專案程式碼即切換至 Git 分支 branch_name,並進行部署。
IV. 小貼士
- 本篇使用指南,僅介紹 Jenkins 服務管理頁面的常規操作,以及常規的構建專案的配置選項,其他配置選項可以根據具體需要進行新增,而且每個配置選項後面都有
?
幫助內容,可供參考 - 其他參考資料: Gitee Support Center / 第三方服務整合 / Jenkins 外掛
以上,Jenkins 初級應用介紹完畢。
— END —
本作品採用《CC 協議》,轉載必須註明作者和本文連結