本文基于軟件開發生產線內置代碼倉庫,介紹如何使用軟件開發生產線完成項目的開發、構建與部署,實現持續交付。
本文介紹采用CCE部署方式,若需了解ECS部署方法,請參考使用軟件開發生產線快速搭建項目(ECS篇)。
準備工作
- 擁有天翼云帳號。若沒有,請先注冊天翼云帳號。
- 已購買軟件開發生產線。
- 已購買CCE集群,購買時的必要配置請參考下表與,表中未列出的配置保持默認即可。
表 集群購買配置
配置分類 配置項 配置建議 基礎配置 計費模式 選擇“按需計費”。 集群版本 建議選擇最新版本。 網絡配置 網絡模型 選擇“VPC網絡”。 容器網段 勾選“自動設置網段”。 ?
表 節點配置
配置分類 配置項 配置建議 計算配置 計費模式 選擇“按需計費”。 節點類型 選擇“彈性云服務器-虛擬機”。 節點規格 選擇2核8G及以上規格即可。 容器引擎 選擇“Docker”。 操作系統 選擇“公共鏡像 > CentOS 7.6” 登錄方式 選擇“密碼”。 密碼 輸入自定義密碼。 網絡配置 節點IP 選擇“隨機分配”。 彈性公網IP 選擇“暫不使用”。
- 已在容器鏡像服務中創建組織,本文中創建的組織名稱為“web-demo”。
新建項目
項目是使用軟件開發生產線各服務的基礎,創建項目后才能完成后續操作。
步驟 1 進入軟件開發生產線首頁,單擊“新建項目”。
步驟 2 選擇“Scrum”,輸入項目名稱“Demo”,單擊“確定”。
新建代碼倉庫
代碼倉庫用于項目代碼的版本管理,本文使用服務內置的模板“Java Web Demo”創建代碼倉庫。
步驟 1 單擊導航欄“代碼 > 代碼托管”,進入代碼托管服務。
步驟 2 單擊頁面“普通新建”旁邊的
,選擇“按模板新建”。
圖 新建代碼倉庫


步驟 3 選擇模板“Java Web Demo”,單擊“下一步”。
步驟 4 輸入代碼倉庫名稱“Web-Demo”,單擊“確定”。
準備Dockerfile
Dockerfile是用于構建鏡像的文本文件,其中包含了構建鏡像所需的指令和說明。了解Dockerfile更詳細說明,請參見。
步驟 1 單擊倉庫名稱,進入代碼倉庫。
步驟 2 單擊文件列表上方“新建”,在下拉列表中選擇“新建文件”。
圖 新建文件


步驟 3 輸入文件名Dockerfile,文件詳情輸入以下命令行。
FROM openjdk:8-alpine
ADD target /demo
COPY ./target/demoapp.jar /demo
CMD ["java","-jar","/demo/demoapp.jar"]
步驟 4 輸入備注信息,單擊“確定”。
構建并推送鏡像
通過編譯構建任務將軟件的源代碼編譯成鏡像,并把鏡像推送歸檔到容器鏡像服務(SWR)中。
步驟 1 單擊導航欄“持續交付 > 編譯構建”,進入編譯構建服務。
步驟 2 單擊“新建任務”,配置任務信息。
- 基本信息:配置以下信息,單擊“下一步”。
表 構建任務基本信息
| 配置項 | 配置建議 |
|---|---|
| 任務名稱 | 輸入自定義名稱(本文中為“Web-Demo-docker”)。 |
| 源碼源 | 選擇“Repo”。 |
| 源碼倉庫 | 選擇“Web-Demo”。 |
| 分支 | 選擇“master”。 |
- 構建模板:選擇“空白構建模板”,單擊“下一步”。
步驟 3 配置構建步驟。
- 單擊“點擊添加構建步驟”,在步驟列表中找到“Maven構建”,單擊“添加”。
- 單擊“添加步驟”,在步驟列表中找到“制作鏡像并推送到SWR倉庫”,單擊“添加”。
- 參照下表配置步驟“制作鏡像并推送到SWR倉庫”(表中未涉及的字段保持默認配置即可)。
表 配置鏡像信息
| 配置項 | 配置建議 |
|---|---|
| 組織 | 輸入在準備工作中創建的組織名稱“web-demo”。 |
| 鏡像標簽 | v1.0.0 |
步驟 4完成配置,單擊“新建并執行”。
當頁面中顯示
時,表示任務執行成功。若構建失敗,請參考《編譯構建用戶指南》排查處理。
步驟 5 登錄容器鏡像服務控制臺,在頁面左側導航欄中選擇“我的鏡像”。
頁面中有一條鏡像名稱為“demo”,所屬組織為“web-demo”的記錄。
單擊鏡像名稱查看詳情,鏡像版本為“v1.0.0”。
創建負載
在云容器引擎(CCE)中創建無狀態負載(Deployment),用于加載運行demo鏡像。
步驟 1 登錄云容器引擎控制臺,單擊在準備工作中購買的集群,進入詳情頁。
步驟 2 在頁面左側導航選擇“工作負載”,單擊“創建負載”,參考下表完成配置,單擊“創建工作負載”。
表 創建工作負載
配置分類 配置項 配置建議 基本信息 負載類型 選擇“無狀態負載”。 負載名稱 自定義,本文中為“web-demo”。 實例數量 選擇“1”。 容器配置 鏡像名稱 單擊“選擇鏡像”,在彈框中勾選“demo”,單擊“確定”。 更新策略 勾選“總是拉取鏡像”。 鏡像版本 選擇“v1.0.0”。 高級配置 升級策略 升級方式選擇“替換升級”。
步驟 3 頁面提示創建成功,單擊“查看工作負載詳情”,返回負載詳情頁面,實例列表中顯示一條記錄。
當該記錄的狀態為“運行中”時,選擇“訪問方式”頁簽,單擊“創建”,參考下表完成創建服務配置,單擊“確定”。
若實例狀態異常,請參考“《云容器引擎常見問題》”排查處理。
表 配置訪問方式
| 配置項 | 配置建議 |
|---|---|
| Service名稱 | 自定義,本文中為“web-demo”。 |
| 訪問類型 | 選擇“負載均衡”。 |
| 服務親和 | 選擇“集群級別”。 |
| 負載均衡器 | 選擇“共享型 > 自動創建”,自定義實例名稱(本文中為“web-demo-test”)。說明若帳號下已有負載均衡器,可選擇“共享型>使用已有”,并選擇已存在的負載均衡器名稱。 |
| 端口配置 | 協議:TCP 容器端口:8080 服務端口:8080 |
步驟 4 列表中顯示一條記錄,當服務名稱出顯示為
時,將鼠標懸浮在訪問類型下的負載均衡器名稱處,在彈窗中復制公網地址。
步驟 5 打開新的瀏覽器頁面,輸入“//IP:8080/test”,其中IP為步驟4中復制的公網地址。
若出現以下訪問結果,表示鏡像部署并運行成功。
圖 部署結果


部署鏡像
通過在部署服務中創建應用,將鏡像部署自動化。
步驟 1 返回軟件開發生產線頁面,單擊導航欄“持續交付 > 部署”,進入部署服務。
- 單擊“新建應用”,輸入應用名稱(本文中為“web-demo-k8s”),單擊“下一步”。
步驟 2 選擇“空白模板”,單擊“確定”。
步驟 3 在步驟列表中搜索并添加步驟“Kubernetes快速部署(CCE集群)”,參考下表完成步驟配置。
表 配置部署步驟
| 配置項 | 配置建議 |
|---|---|
| 區域 | 選擇集群所在的區域。 |
| 集群名稱 | 選擇準備工作中購買的集群名稱。 |
| 命名空間名稱 | 本文中選擇“default”。 |
| 工作負載名稱 | 選擇“web-demo”。 |
| 容器名稱 | 選擇創建負載時,容器配置部分的容器名稱。 |
步驟 4 單擊“保存并部署”。
當頁面顯示
時,表示測試通過。若部署失敗,請參照《部署用戶指南》排查。
配置流水線實現自動化更新鏡像部署
通過配置流水線,將代碼倉庫、構建、部署串聯起來,當代碼倉庫中發生代碼提交動作時,可以自動觸發流水線的執行,實現持續交付。
步驟 1 單擊導航欄“持續交付 > 流水線”,進入流水線服務。
步驟 2 單擊“新建流水線”,配置流水線信息。
- 選擇流水線源:配置以下信息,單擊“下一步”。
表 流水線基本信息
| 配置項 | 配置建議 |
|---|---|
| 流水線源 | 選擇“Repo”。 |
| 代碼庫名稱 | 選擇“phoenix-sample”。 |
| 默認分支 | 選擇“master”。 |
- 選擇模板:選擇“空白模板”,單擊“確定”。
步驟 3 選擇“基本信息”頁簽,輸入流水線名稱“pipeline-web-demo”。
步驟 4 選擇“工作流”頁簽,配置工作流。
- 單擊“構建和檢查”階段中的的“添加任務”。在右側滑出框中配置構建任務,單擊“保存”。
表 構建任務配置
| 配置項 | 配置建議 |
|---|---|
| 類型 | 選擇“構建”。 |
| 名稱 | 輸入自定義名稱。 |
| 請選擇需要調用的任務 | 選擇“Web-Demo-docker”。 |
| 倉庫 | 選擇“Web-Demo”。 |
- 單擊“構建和檢查”階段后的

,添加一個階段。
圖 添加階段


- 單擊新增階段名稱后的
,在右側滑出框中輸入名稱“部署”,單擊“保存”。 - 參照步驟4.1,在部署階段中添加應用“web-demo-k8s”,關聯構建任務選擇“Web-Demo-docker”。
步驟 5 選擇“執行計劃”頁簽,單擊“持續集成”下的倉庫名稱,打開“代碼提交時觸發”開關,在分支過濾下拉列表中勾選分支“master”,單擊“保存”。


步驟 6 進入代碼倉庫,搜索并打開文件“TestController.java”。
單擊
,將“hello world”修改為“hello world again”,輸入提交信息后單擊“確定”。
圖 修改代碼


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


釋放資源
為了避免不必要的費用產生,完成本示例體驗后,可釋放以下資源。
注意資源釋放后無法恢復,請謹慎操作。
步驟 1 刪除項目。
- 進入項目“設置 > 通用設置 > 基本信息”頁面。
- 單擊“刪除項目”,在彈框中輸入項目名稱,單擊“刪除”。
步驟 2 刪除組織與鏡像。
- 登錄容器鏡像服務控制臺。
- 在“我的鏡像”頁面中,勾選本文中創建的鏡像,單擊“刪除”。
- 在彈框中單擊“確定”。
- 在“組織管理”頁面中,單擊待刪除組織的名稱,進入詳情頁。
- 單擊“刪除”,在彈框中單擊“確定”。
步驟 3 刪除集群。
- 登錄云容器引擎控制臺。在列表中找到待刪除的集群,單擊

。 - 勾選彈框中的所有選項,單擊“是”。