Azure DevOps 由淺入深運用技巧的必備工具書!
本書內容改編自第14屆 iThome 鐵人賽 DevOps 組佳作系列文章《Azure DevOps 進階應用》,與第13屆 iThome 鐵人賽 DevOps 組系列文章《把玩 Azure DevOps》。
【書籍特色】
1. 針對 DevOps 最重要的持續整合(CI)與持續交付(CD)進行深入的介紹
Azure DevOps 是一套完整的應用程式生命週期管理系統,包含了專案管理、版本控管、CI/CD、測試管理、程式庫管理等,本書針對 DevOps 其中一個重要的範圍:「CI/CD 自動化設計」進行較深入的介紹。
2. 市場上少數針對 Azure DevOps 功能詳細介紹的書籍
不論是書局中的中文書,或是網路上的中文網站,幾乎是最深入針對 Azure DevOps 中的 Pipeline 如何使用與設計進行介紹的文章。
3. 從適用於部門或團隊的少數專案設計方式到全公司專案使用的範本化設計規劃介紹
從少量系統的簡單應用設計到適用微服務設計的大量系統範本化 Pipeline 設計,都可以從本書介紹的內容得到一些設計的想法。
4. 從 DevOps 工程師的角度出發,最容易入門上手的學習路徑
有別於其它的 DevOps 方案需要各搭建不同的系統才能夠完善 DevOps 各個環節的功能,Azure DevOps 是一個整合性的解決方案,也是 DevOps 工程師最容易入門上手的方案。尤其是使用雲端的 Azure DevOps 更不用煩惱架設系統的難題,堪稱進入 DevOps 領域最容易的一條路徑。
作者簡介:
范明城
從國中時期就確定自己的興趣方向,求學過程一路往資訊領域發展,早期還不會寫程式的時候時常架設一些系統來把玩,後來自學程式設計之後覺得可以將自己的想法透過程式開發來實現是一件很有趣的事。
擔任過軟體開發工程師、軟體自動化測試工程師,後來覺得自己平時就會嘗試許多不同的系統,也喜歡探討問題的本質需求,加上市場上對於 DevOps 領域的工程師始終很缺乏,便一腳踏入 DevOps 的領域,也正好和自己自學程式設計與把玩各種不同的系統的興趣作結合。
iThome鐵人賽/獲獎
2022DevOps組佳作:Azure DevOps進階應用
2021DevOps組完賽:把玩Azure DevOps
2013開發組完賽:DotNetNuke的學習心得
目錄
CHAPTER 01 Azure DevOps 介紹
CHAPTER 02 Azure DevOps 的組織與專案
CHAPTER 03 版本控制系統 Repos
Git Repository
TFVC Repository
CHAPTER 04 設定第一個 CI Pipeline
事前準備
建立第一個 Pipeline
Pipeline執行與除錯
CHAPTER 05 編譯與部署 .Net 專案
編譯 .Net 專案
設定變數,建立共用的 Build Pipeline
CHAPTER 06 Azure DevOps Artifacts 簡介
讓組織外的使用者也能存取私有套件庫
CHAPTER 07 Artifacts 應用:上傳與管理 NuGet Packages
編譯時產生 nupkg 檔案
Build Nuget 套件上傳到 Artifacts
CHAPTER 08 使用 Extensions for Azure DevOps
CHAPTER 09 進階 Pipeline 設定與觸發方式
利用安裝的擴充功能修改 C# 專案版本
替Pipeline 設定時間排程執行
將Pipeline 設定為 Git Repo 有異動時自動執行
CHAPTER 10 進一步了解 YAML 結構描述與多個 Agent Job
YAML 格式以外的 Pipeline 傳統編輯器
深入了解 YAML Pipeline 結構描述:多個 Agent Job
CHAPTER 11 優化 Pipeline 的識別與管理
CHAPTER 12 面對多個系統專案的規劃
分支策略
Build Pipeline (CI)
Release Pipeline (CD)
結語
CHAPTER 13 使用 Google Artifact Registry 存放Docker Image
建立 Artifact Registry 存放區
建立服務帳戶
產生授權金鑰
Docker Login
CHAPTER 14 介紹 Google Cloud Run
CHAPTER 15 進階版 CI Pipeline 的設計與優化
再一次深入了解 YAML Pipeline 的結構
建立 Pull Request(PR) Pipeline
建立 CI Pipeline
CHAPTER 16 CD Release Pipeline 的設計與優化
初探 CD Release Pipeline
應用多個 Artifacts 來源的 CD Pipeline
CD Pipeline 進階設計
設定審核者與 Git Repo 權限問題
匯出 Json 檔案當作範本
CHAPTER 17 了解 YAML 運算式 Expressions、參數 Parameters 與變數 Variables
運算式 Expressions 與函數
參數 Parameters 與變數 Variables
CHAPTER 18 範本 Template 設計與重複使用
初探 YAML 的範本設計
拆解 task 為 step 範本
拆解 job 為 job 範本
設計 Stage 範本
CHAPTER 19 優化 YAML 結構與多個專案設計
多個專案的命名與變數範本設計
加入更多的設計彈性
如何使用?
CHAPTER 20 使用 Task 與 CLI 的選擇
CHAPTER 21 設定 Pipeline 的權限與通知
建立 Group 並設定權限
Microsoft Teams 整合 Pipeline 通知
CHAPTER 22 建立自管的 Azure DevOps Agent
在 Windows VM 中建立自管的 Azure DevOps Agent
在 Windows Container 中建立自管的 Azure DevOps Agent
在 Linux Container 中建立自管的 Azure DevOps Agent
CHAPTER 01 Azure DevOps 介紹
CHAPTER 02 Azure DevOps 的組織與專案
CHAPTER 03 版本控制系統 Repos
Git Repository
TFVC Repository
CHAPTER 04 設定第一個 CI Pipeline
事前準備
建立第一個 Pipeline
Pipeline執行與除錯
CHAPTER 05 編譯與部署 .Net 專案
編譯 .Net 專案
設定變數,建立共用的 Build Pipeline
CHAPTER 06 Azure DevOps Artifacts 簡介
讓組織外的使用者也能存取私有套件庫
CHAPTER 07 Artifacts 應用:上傳與管理 NuGet Packages
編譯時產生 nupkg 檔案
Build Nuget 套件上傳到 Artifacts
CHAPTER 08 使用 ...