共用方式為


教學課程:使用在 Azure 中執行的 VM 調整 Jenkins 部署

這很重要

雖然許多 Azure 服務都有 Jenkins 外掛程式,但這些外掛程式大部分已於 2024 年 2 月 29 日終止支援。 Azure CLI 目前是整合 Jenkins 與 Azure 服務的建議方式。 如需詳細資訊,請參閱 適用於 Azure 的 Jenkins 外掛程式一文。

本教學課程示範如何在 Azure 中建立 Linux 虛擬機,並將 VM 新增為 Jenkins 的工作節點。

在本教學課程中,您將:

  • 建立代理程式計算機
  • 將代理程式新增至 Jenkins
  • 建立新的 Jenkins 自由格式任務
  • 在 Azure VM 代理程式上執行作業

先決條件

設定代理程式虛擬機

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

    az group create --name <resource_group> --location <location>
    
  2. 使用 az vm create 建立虛擬機器。

    az vm create --resource-group <resource-group> --name <vm_name> --image UbuntuLTS --admin-username azureuser --admin-password "<password>"
    

    重點

    • 您也可以使用下列命令 --ssh-key-value <ssh_path>上傳 SSH 金鑰。
  3. 安裝 JDK。

    1. 使用 SSH 工具登入虛擬機。

      ssh username@123.123.123.123
      
    2. 使用apt安裝 JDK。 您也可以與其他套件管理員工具一起安裝,例如 yum 或 pacman。

      sudo apt-get install -y default-jdk
      
    3. 安裝完成之後,請執行 java -version 以確認 Java 環境。 輸出會包含與 JDK 各部分相關聯的版本號碼。

設定 Jenkins URL

如果您使用 JNLP,則必須設定 Jenkins URL。

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

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

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

  4. 選取 [儲存]。

將代理程式新增至 Jenkins

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

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

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

  4. 輸入 節點名稱的值。

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

  6. 請選擇 [確定]

  7. 請指定下列欄位值:

    • 名稱:指定可識別新 Jenkins 安裝內代理程式的唯一名稱。 這個值可能不同於代理程式主機名。 不過,將兩個值設為相同是很方便的。 名稱值允許下列清單中的任何特殊字元: ?*/\%!@#$^&|<>[]:;

    • 遠端根目錄:代理程序必須有 Jenkins 專用的目錄。 請在代理程式上指定此目錄的路徑。 最好使用絕對路徑,例如 /home/azureuser/workc:\jenkins。 這應該是代理機器的本地路徑。 不需要在主要視圖中顯示此路徑。 如果您使用相對路徑,例如 ./jenkins-agent,則路徑會相對於 Launch 方法所提供的工作目錄。

    • 標籤:標籤可用來將語意相關代理程式群組成一個邏輯群組。 例如,您可以為所有執行 Ubuntu Linux 發行版的代理定義標籤 UBUNTU

    • 啟動方法:有兩個選項可啟動遠端 Jenkins 節點:透過 SSH 啟動代理程式和透過主機上的命令執行啟動代理程式

      • 透過 SSH 啟動代理程式:指定下列欄位的值:

        • 主機:VM 公用 IP 位址或網域名稱。 例如,123.123.123.123example.com

        • 認證:選取要用來登入遠端主機的認證。 您也可以選取 [ 新增 ] 按鈕來定義新的認證,然後在建立后選取該新認證。

        • 主機金鑰驗證策略:控制 Jenkins 在連線時如何驗證遠端主機所提供的 SSH 金鑰。

        節點組態範例,指定透過 SSH 啟動代理程式的啟動方法。

      • 透過在主機上執行命令來啟動代理程式

        • agent.jar 下載 https://<your_jenkins_host_name>/jnlpJars/agent.jar。 例如: https://localhost:8443/jnlpJars/agent.jar

        • 上傳 agent.jar 至您的虛擬機

        • 使用 命令 ssh <node_host> java -jar <remote_agentjar_path>啟動 Jenkins。 例如: ssh azureuser@99.99.999.9 java -jar /home/azureuser/agent.jar

        節點組態範例,指定啟動代理程序的啟動方法,方法是透過在主機上執行命令。

  8. 選取 [儲存]。

定義組態之後,Jenkins 會將虛擬機新增為新的工作節點。

虛擬機作為新工作節點的範例

在 Jenkins 中建立作業

  1. 從功能表中,選取 [ 新增專案]。

  2. 輸入 demoproject1 作為名稱。

  3. 選取 Freestyle 專案

  4. 請選擇 [確定]

  5. 在 [一般] 索引標籤中,選擇 [限制專案可以執行的位置],然後在 ubuntu] 中輸入 。 您會看到訊息,確認標籤是由在上一個步驟中建立的雲端組態所提供。

    設定新的 Jenkins 作業

  6. 在 [ 原始程式碼管理 ] 索引標籤中,選取 [Git ],並將下列 URL 新增至 [ 存放庫 URL ] 字段: https://github.com/spring-projects/spring-petclinic.git

  7. 在 [ 建置] 索引標籤中,選取 [新增建置步驟],然後選取 [ 叫用最上層 Maven 目標]。 在 [package 欄位中輸入

  8. 選取 [儲存]。

在 Azure VM 代理程式上建置新的作業

  1. 請選擇您在上一個步驟中創建的任務。

  2. 選取 [立即建置]。 新的建置會排入佇列,但要等到在您的 Azure 訂用帳戶中建立代理 VM 後才會開始。

  3. 建置完成後,請移至 主控台輸出。 您會看到組建是在 Azure 代理程式上遠端執行。

    主控台輸出

後續步驟