教學課程:使用 Azure 容器執行個體 作為 Jenkins 組建代理程式

重要

許多 Azure 服務都有 Jenkins 外掛程式。截至 2024 年 2 月 29 日,其中部分外掛程式將不支援。 Azure CLI 目前是整合 Jenkins 與 Azure 服務的建議方式。 如需詳細資訊,請參閱適用於 Azure 的 Jenkins 外掛程式一文

Azure 容器執行個體 (ACI) 提供隨選、高載和隔離的環境,以執行容器化工作負載。 由於這些屬性,ACI 是大型執行 Jenkins 建置作業的絕佳平臺。 本文說明如何部署 ACI,並將其新增為 Jenkins 控制器的永久建置代理程式。

如需 Azure 容器執行個體 的詳細資訊,請參閱關於 Azure 容器執行個體

必要條件

準備 Jenkins 控制器

  1. 流覽至您的 Jenkins 入口網站。

  2. 從功能表中,選取 [ 管理 Jenkins]。

  3. 在 [系統設定] 底下,選取 [設定系統]。

  4. 確認 Jenkins URL 已設定為 Jenkins 安裝的 HTTP 位址 - http://<your_host>.<your_domain>:8080/

  5. 從功能表中,選取 [ 管理 Jenkins]。

  6. 在 [安全性] 底下,選取 [設定全域安全性]。

  7. 在 [代理程式] 底 ,指定 [固定 埠],然後為您的環境輸入適當的埠號碼。

    組態範例: Configure TCP port

  8. 選取 [儲存]。

建立 Jenkins 工作代理程式

  1. 流覽至您的 Jenkins 入口網站。

  2. 從功能表中,選取 [ 管理 Jenkins]。

  3. 在 [系統設定] 下,選取 [管理節點和雲端]。

  4. 從功能表中,選取 [ 新增節點]。

  5. 輸入節點名稱的值

  6. 選取 [ 永久代理程式]。

  7. 選取 [確定]。

  8. 輸入遠端根目錄的值。 例如,/home/jenkins/work

  9. 新增標籤 (卷標 可用來將多個代理程式分組成一個邏輯群組。標籤的範例是 linux 將 Linux 代理程式群組在一起,其值為 linux

  10. 將 Launch 方法設定[啟動代理程式],方法是連線到主機

  11. 確認已指定或輸入所有必要的欄位:

    Example Jenkins agent configuration

  12. 選取 [儲存]。

  13. 在代理程式狀態頁面上,您應該會看到 JENKINS_SECRETAGENT_NAME。 下列螢幕快照顯示如何識別值。 當您建立 Azure 容器實例時,需要這兩個值。

    The build-agent secret is displays after its successful creation.

使用 CLI 建立 Azure 容器實例

  1. 使用 az group create 建立 Azure 資源群組。

    az group create --name my-resourcegroup --location westus
    
  2. 使用 az container create 建立 Azure Container Instance。 將佔位元取代為您建立工作代理程式時取得的值。

    az container create \
      --name my-dock \
      --resource-group my-resourcegroup \
      --ip-address Public --image jenkins/inbound-agent:latest \
      --os-type linux \
      --ports 80 \
      --command-line "jenkins-agent -url http://jenkinsserver:port <JENKINS_SECRET> <AGENT_NAME>"
    

    將、 <JENKINS_SECRET><AGENT_NAME> 取代http://jenkinsserver:port為您的 Jenkins 控制器和代理程式資訊。 容器啟動之後,它會自動連線到 Jenkins 控制器伺服器。

  3. 返回 Jenkins 儀錶板,並檢查代理程序狀態。

    Agent has started successfully

    注意

    Jenkins 代理程式會透過埠 5000連線到控制器,確定允許埠輸入 Jenkins 控制器。

建立建置作業

現在,會建立 Jenkins 建置作業,以示範 Azure 容器實例上的 Jenkins 組建。

  1. 選取 [ 新增專案],為建置專案指定名稱,例如 aci-demo、選取 Freestyle 專案,然後選取 [ 確定]。

    Box for the name of the build job, and list of project types

  2. 在 [一般],確定已選取 [限制此專案可以執行的位置]。 針對標籤表示式輸入 linux 。 此設定可確保此建置作業會在 ACI 雲端上執行。

  3. 在 [建置] 底下,選取 [新增建置步驟],然後選取 [執行殼層]。 輸入 echo "aci-demo" 作為命令。

  4. 選取 [儲存]。

執行建置作業

若要測試建置作業,並觀察 Azure 容器執行個體 手動啟動組建。

  1. 選取 [ 立即 建置] 以啟動建置作業。 作業啟動后,您會看到類似下圖的狀態:

  2. 按兩下 [建置歷程記錄] 中的 [組建] #1

  3. 選取 [主控台輸出 ] 以檢視組建輸出。

下一步