此實機操作練習是以 Windows 10 用戶運用 Azure DevOps 進行持續整合/持續交付 (CI/CD) 之情境所設計,並以 Microsoft Azure 相關容器服務作為練習的平台。在此實機練習中,我們會使用一個 Nodejs 網頁應用程式,以 Docker 容器形式佈署於 Azure Container Registry 與 Azure Web App for Containers Linux,並透過 Azure DevOps Pipelines 讓整個過程自動化。請注意此系列操作練習目的在於體驗 CI/CD 概念,相關組態配置並非考量真實營運環境的最佳架構。
在練習過程中使用 Azure App Service Web App for Containers Linux 基本服務方案 B1 等級規格,每一個執行個體每小時產生 NT$0.91 費用,每月產生約 NT$593 費用,Azure Container Regisrty 基本版則是每月產生約 NT$155 費用,實機練習完畢後如果將相關 Azure 資源刪除就不再產生任何費用,假若練習兩小時完畢後刪除所有內容,產生費用約 NT$7。而 Azure DevOps 無須信用卡即可擁有 5 位用戶免費使用並提供每月 1,800 分鐘 Azure DevOps Pipelines CI/CD 免費建構時數,因此在整個實機練習過程 Azure DevOps 將不會有費用產生。為了避免 Azure DevOps Pipelines 每月 1,800 分鐘 CI/CD 資源遭到濫用,自 2021 年 3 月起,請依據 https://docs.microsoft.com/zh-tw/azure/devops/release-notes/2021/sprint-184-update 說明寄送電子郵件至 [email protected] 說明用途,申請免費 1,800 分鐘 CI/CD 資源。
- Azure DevOps 首頁與免費帳號申請
- Azure DevOps 文件首頁
- Azure DevOps Labs
- DevOps Resource Center
- Pro Git book
- 為你自己學 Git
-
備妥 Windows 10 的 64 位元專業版,企業版或教育版 (Build 15063 之後版本),家用版因為不支援 Hyper-V 無法使用,如果使用 Windows 10 家用版,則必須透過 Windows 10 版本 2004 搭配 Windows Subsystem for Linux 2 (WSL 2) 方式安裝 Docker Desktop for Windows,以 WSL 2 安裝 Dokcer Desktop for Windows 的方式可參閱此處 。搭配 WSL 2 安裝方式並不僅限於 Windows 10 家用版用戶,任何已經使用 Windows Subsystem for Linux 這都是一個比較輕量化的好選擇。
-
BIOS 與 Windows 需啟用 Hyper-V 虛擬化環境
-
至 Docker Hub 註冊帳號並且下載 Docker Desktop for Windows(stable) 版本
-
執行安裝程式,安裝完畢後 Windows 工作列會顯示 Docker 圖示點選可進行相關設定
- 本實作練習採用 Linux 容器,啟用 Hyper-V 管理員可以看到 Docker Desktop for Windows 所建立的 Linux 虛擬機器
- 如果您是採用 WSL 2 安裝 Dokcer Desktop for Windows 的方式則不會用到 Hyper-V 環境,當然 Hyper-V 管理員內也就看不到虛擬機器了。使用 WSL 2 安裝方式可以透過指令確認 Dokcer 環境已經順利建立
wsl --list --all
- 下載安裝 Visual Studio Code Windows 64 bit 版本
- 下載安裝 Git for Windows ,Visual Studio Code 內建之 Git 延伸模組必須搭配 Git 2.0 以上版本
- 下載安裝 Nodejs 12.xx Windows 64 bit 版本
- 請至 Azure DevOps 首頁,點選申請免費帳號,Azure DevOps 無須信用卡即可取得免費帳號。
- Microsoft Azure 訂閱帳號
- 下載安裝 Azure CLI 2.0.80 之後版本
- 前往練習 Lab 1 : 在 Azure DevOps 內建立組織 (Organization) 與專案 (Project)
- 前往練習 Lab 2 : 在 Azure DevOps 內建立儲存庫 (Repos) 並加入程式碼
- 前往練習 Lab 3 : 建立 Azure Container Registry 並推送 Docker 映像檔
- 前往練習 Lab 4 : 建立 Azure Web App for Containers Linux 手動佈署容器
- 前往練習 Lab 5 : 在 Azure DevOps 內建立服務連線 (Service connections)
- 前往練習 Lab 6 : 在 Azure DevOps 內建立管線 (Pipelines) 自動佈署容器
- 前往練習 Lab 7 : 驗證 Azure DevOps 持續整合 (Continuous Integration) 功能
- 刪除所建立的 Azure 資源群組