本文基于軟件開發生產線內置代碼倉庫,介紹如何使用軟件開發生產線完成項目的開發、構建與部署,實現持續交付。
本文采用的ECS部署,若需了解CCE部署方法,請參考使用軟件開發生產線快速搭建項目(CCE篇)。
準備工作
- 擁有天翼云帳號。若沒有,請先注冊天翼云帳號。
- 已購買軟件開發生產線。
- 已購買彈性IP。
- 已購買云主機,購買時的必要配置可參考下表,表中未列出的配置可根據實際情況選擇。完成購買后,參考“《云主機用戶指南》?>安全?>安全組?>配置安全組規格”添加端口22及8080的入方向規則。
表 云主機配置
配置分類 配置項 配置建議 基礎配置 計費模式 選擇“按需計費”。 CPU架構 選擇“x86計算” 規格 選擇2核4G或以上規格。 鏡像 選擇“公共鏡像 > CentOS > CentOS 7.6 64bit(40GB)”。 網絡配置 彈性IP 選擇“使用已有”。 高級配置 登錄憑證 選擇“密碼”。 密碼 輸入自定義密碼。
新建項目
項目是使用軟件開發生產線各服務的基礎,創建項目后才能完成后續操作。
步驟 1 進入軟件開發生產線首頁,單擊“新建項目”。
步驟 2 選擇“Scrum”,輸入項目名稱“Demo”,單擊“確定”。
新建代碼倉庫
代碼倉庫用于項目代碼的版本管理,本文使用服務內置的模板“Java Web Demo”創建代碼倉庫。
步驟 1 單擊導航欄“代碼 > 代碼托管”,進入代碼托管服務。
步驟 2 單擊頁面“普通新建”旁邊的
,選擇“按模板新建”。
圖 新建代碼倉庫


步驟 3 選擇模板“Java Web Demo”,單擊“下一步”。
步驟 4 輸入代碼倉庫名稱“Web-Demo”,單擊“確定”。
檢查代碼
通過代碼檢查服務,可以對代碼進行靜態檢查,管控代碼質量。
步驟 1 單擊導航欄“代碼 > 代碼檢查”,進入代碼檢查服務。頁面中顯示自動創建的任務“Web-Demo-codecheck”。
說明本文使用的是代碼倉庫模板關聯的內置任務。
實際開發項目需要單擊“新建任務”,根據業務場景自主創建任務,詳細操作請參考“《代碼檢查用戶指南》>任務創建”。
步驟 2 單擊任務所在行的“立即執行”啟動任務。
說明如果代碼檢查任務已被執行,則單擊任務名稱進入概覽頁,單擊“開始檢查”重新執行任務。
步驟 3 當頁面中顯示
時,表示任務執行成功。單擊任務名稱,進入任務的“概覽”頁面查看檢查結果。
若任務執行失敗,請參考《代碼檢查常見問題》排查處理。
構建并歸檔軟件包
通過編譯構建服務,可將軟件的源代碼編譯成目標文件,并把配置文件和資源文件等打包并歸檔到軟件發布庫中。
步驟 1 單擊導航欄“持續交付 > 編譯構建”,進入編譯構建服務。頁面中顯示自動創建的任務“Web-Demo-cloudbuild”。
說明本文使用的是代碼倉庫模板關聯的內置任務。
實際開發項目需要單擊“新建任務”,根據業務場景自主創建任務,詳細操作請參考“《編譯構建用戶指南》>構建任務>新建構建任務”。
步驟 2 單擊任務所在行的
啟動任務。若出現彈窗,請確認參數設置準確后,單擊“確定”。
步驟 3 當頁面中顯示
時,表示任務執行成功。單擊任務名稱,進入構建歷史頁面,在列表中找到最新一次構建的構建編號,記錄該編號。
若構建失敗,請參考《編譯構建常見問題》排查處理。
圖 構建編號


步驟 4 單擊導航欄“制品倉庫 > 軟件發布庫”,進入軟件發布庫。
在與項目名稱同名的倉庫中,依次進入與構建任務同名的文件夾、與構建編號同名的文件夾,即可找到生成的軟件包“demoapp.jar”。
圖 查看軟件包


部署構建包
通過部署服務,可將軟件發布庫中的軟件包部署到虛擬機,并啟動運行。
步驟 1 配置目標主機。
- 單擊導航欄“設置 > 通用設置 > 基礎資源管理”。
- 單擊“新建主機集群”,輸入集群名稱“hosts”、選擇操作系統“Linux”、關閉“使用代理機接入”開關,單擊“保存”。
- 單擊“新增目標主機”,在彈框中配置以下信息,勾選同意聲明后,單擊“添加”。
表 新增目標主機
| 配置項 | 配置建議 |
|---|---|
| 主機名 | 輸入自定義主機名稱。為了方便辨認,可與在準備工作中購買的ECS的名稱保持一致。 |
| IP | 輸入在準備工作中購買的ECS的IP。 |
| 用戶名 | 輸入“root”。 |
| 密碼 | 輸入在準備工作中購買的ECS時設置的密碼。 |
| ssh端口 | 輸入“22”。 |
- 頁面顯示一條主機記錄,當“連通性驗證”列的值顯示為“成功”,表示主機添加完成。
步驟 2 單擊導航欄“持續交付 > 部署”,進入部署服務。頁面中顯示自動創建的應用“Web-Demo-deploy”。
說明本文使用的是代碼倉庫模板關聯的內置應用。
實際開發項目需要單擊“新建應用”,根據業務場景自主創建應用,詳細操作請參考“《部署用戶指南》>應用管理>新建應用”。
步驟 3 單擊
,在下列表中選擇“編輯”,進入編輯頁面。
步驟 4 選擇“環境管理”頁簽,配置主機環境。
- 單擊“新建環境”,輸入環境名稱“host-group”、選擇資源類型“主機”、操作系統“Linux”,單擊“保存”。
- 列表中新增一條環境記錄,單擊環境名稱,在滑出的窗口中選擇“資源列表”頁簽。
- 單擊“導入主機”,在彈框中的下拉列表中選擇步驟1中創建的主機集群,并在列表中勾選主機,單擊“導入”。
- 頁面提示導入成功,關閉此窗口。
步驟 5 選擇“參數設置”頁簽,參考下表配置參數。
| 參數名 | 參數值 |
|---|---|
| host_group | 選擇步驟4中添加的環境名稱“host-group”。 |
| package_url | 無需此參數,單擊對應行 刪除。 |
| service_port | 輸入“8080”。 |
| package_name | 輸入“demoapp”。 |
步驟 6 選擇“部署步驟”頁簽,配置部署步驟。
- 停止SpringBoot服務:首次執行時,由于目標主機上還未有服務,執行該步驟會失敗,因此不勾選“啟用”選項。
- 安裝JDK:修改jdk版本為“openjdk-1.8.0”。
- 選擇部署來源:參考下表進行配置。
表 部署來源配置
| 配置項 | 值 |
|---|---|
| 選擇源類型 | 選擇“構建任務”。 |
| 請選擇構建任務 | 選擇“Web-Demo-cloudbuild”。 |
| 下載到主機的部署目錄 | 輸入“/usr/local/${package_name}/”。 |
URL健康測試:此步驟可有可無,根據需要選擇是否啟用(本文不勾選“啟用”選項)。
步驟 7 單擊“保存并部署”。若出現彈窗,請確認參數設置準確后,單擊“確定”。
待頁面顯示
。若部署失敗,請參照《部署常見問題》排查。
步驟 8 查看部署結果。
打開一個新的瀏覽器頁面,輸入訪問地址“//IP:8080/test”,其中“IP”為準備工作中購買的ECS的IP。
若出現以下訪問結果,表示部署成功。
圖 部署結果


配置流水線
通過流水線可以將代碼檢查、編譯構建、部署等任務串聯起來,當代碼發生改變時,自動觸發流水線執行,實現持續交付。
步驟 1 單擊導航欄“持續交付 > 流水線”,進入流水線服務。在“流水線”頁面中顯示自動創建的流水線“Web-Demo-pipeline”。
說明本文使用的是代碼倉庫模板關聯的內置流水線。
實際開發項目需要單擊“新建流水線”,根據業務場景自主創建流水線,詳細操作請參考“《流水線用戶指南》>流水線管理>新建/復制流水線”。
步驟2 單擊
,在下拉列表中選擇“編輯”。
步驟3 選擇“任務編排”頁簽,配置流水線。
- 本文暫不涉及接口測試,因此需要將接口測試任務從流水線中移除。
單擊接口測試任務對應
,在下拉列表中單擊“刪除任務”。
圖 刪除任務


- 單擊部署任務,參考部署構建包配置部署參數。
步驟 4 選擇“執行計劃”頁簽,單擊“持續集成”下的倉庫名稱,打開“代碼提交時觸發”開關,在分支過濾下拉列表中勾選分支“master”。


步驟 5 單擊“保存”,退出編輯。
步驟 6 進入部署服務,編輯部署步驟,在“停止SpringBoot服務”中勾選“啟用”。
步驟 7 進入代碼倉庫,搜索并打開文件“TestController.java”。
單擊
,將“hello world”修改為“hello world again”,輸入提交信息后單擊“確定”。
圖 修改代碼


步驟 8 返回流水線頁面,可看到流水線正在運行中。
當頁面顯示
時,重新訪問頁面“//IP:8080/test”,訪問結果將變為下圖顯示內容。
若任務執行失敗,請于執行失敗處檢查失敗原因,或參照《流水線常見問題》排查處理。
圖 流水線執行結果


釋放資源
為了避免不必要的費用產生,完成本示例體驗后,可釋放以下資源。
注意資源釋放后無法恢復,請謹慎操作。
步驟 1 刪除項目。
- 進入項目“設置 > 通用設置 > 基本信息”頁面。
- 單擊“刪除項目”,在彈框中輸入項目名稱,單擊“刪除”。
步驟 2 刪除ECS。
- 登錄云主機控制臺。在列表中找到待刪除的ECS,單擊“更多”,在下拉列表中選擇“刪除”。
- 勾選彈框中的所有選項,單擊“是”。
刪除。