教學課程:使用在 Azure 中執行的 VM 調整 Jenkins 部署
重要
許多 Azure 服務都有 Jenkins 外掛程式。截至 2024 年 2 月 29 日,其中部分外掛程式將不支援。 Azure CLI 目前是整合 Jenkins 與 Azure 服務的建議方式。 如需詳細資訊,請參閱適用於 Azure 的 Jenkins 外掛程式一文。
本教學課程示範如何在 Azure 中建立 Linux 虛擬機,並將 VM 新增為 Jenkins 的工作節點。
在此教學課程中,您需要:
- 建立代理程式計算機
- 將代理程式新增至 Jenkins
- 建立新的 Jenkins freestyle 作業
- 在 Azure VM 代理程式上執行作業
使用 az group create 建立 Azure 資源群組。
az group create --name <resource_group> --location <location>
使用 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 金鑰。
安裝 JDK。
使用 SSH 工具登入虛擬機。
ssh username@123.123.123.123
使用apt安裝 JDK。 您也可以與其他套件管理員工具一起安裝,例如 yum 或 pacman。
sudo apt-get install -y default-jdk
安裝完成之後,請執行 java -version
以確認 Java 環境。 輸出會包含與 JDK 各部分相關聯的版本號碼。
如果您使用 JNLP,則必須設定 Jenkins URL。
從功能表中,選取 [ 管理 Jenkins]。
在 [系統設定] 底下,選取 [設定系統]。
確認 Jenkins URL 已設定為 Jenkins 安裝的 HTTP 位址 - http://<your_host>.<your_domain>:8080/
。
選取 [儲存]。
從功能表中,選取 [ 管理 Jenkins]。
在 [系統設定] 下,選取 [管理節點和雲端]。
從功能表中,選取 [ 新增節點]。
輸入節點名稱的值。
選取 [ 永久代理程式]。
選取 [確定]。
指定下欄位的值:
名稱:指定可識別新 Jenkins 安裝內代理程式的唯一名稱。 這個值可能不同於代理程式主機名。 不過,將兩個值設為相同是很方便的。 名稱值允許下列清單中的任何特殊字元: ?*/\%!@#$^&|<>[]:;
。
遠端根目錄:代理程序必須有 Jenkins 專用的目錄。 指定代理程式上這個目錄的路徑。 最好使用絕對路徑,例如 /home/azureuser/work
或 c:\jenkins
。 這應該是代理程式計算機的本機路徑。 不需要從主圖形顯示此路徑。 如果您使用相對路徑,例如 ./jenkins-agent,則路徑會相對於 Launch 方法所提供的工作目錄。
標籤:標籤可用來將語意相關代理程式群組成一個邏輯群組。 例如,您可以針對執行 Linux Ubuntu 散發版本的所有代理程式定義的標籤 UBUNTU
。
啟動方法:有兩個選項可啟動遠端 Jenkins 節點: 透過 SSH啟動代理程式和透過主機上的命令執行啟動代理程式:
透過 SSH 啟動代理程式:指定下列欄位的值:
主機:VM 公用IP位址或功能變數名稱。 例如,123.123.123.123
或 example.com
認證:選取要用來登入遠端主機的認證。 您也可以選取 [ 新增 ] 按鈕來定義新的認證,然後在建立后選取該新認證。
主機金鑰驗證策略:控制 Jenkins 在連線時如何驗證遠端主機所提供的 SSH 金鑰。

透過在主機上執行命令來啟動代理程式:
從 https://<your_jenkins_host_name>/jnlpJars/agent.jar
下載 。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
。

選取 [儲存]。
定義組態之後,Jenkins 會將虛擬機新增為新的工作節點。

從功能表中,選取 [ 新增專案]。
輸入 demoproject1
以取得名稱。
選取 [Freestyle 專案]。
選取 [確定]。
在 [一般] 索引標籤中,選擇 [限制專案可以執行的位置],然後在 [卷標表達式] 中輸入 ubuntu
。 您會看到訊息,確認標籤是由在上一個步驟中建立的雲端組態所提供。

在 [ 原始程式碼管理 ] 索引標籤中,選取 [Git ],並將下列 URL 新增至 [存放庫 URL ] 字段: https://github.com/spring-projects/spring-petclinic.git
在 [建置] 索引標籤中,選取 [新增建置步驟],然後選取 [叫用最上層 Maven 目標]。 在 [目標] 欄位中輸入 package
。
選取 [儲存]。
選取您在上一個步驟中建立的作業。
選取 [ 立即建置]。 新的組建會排入佇列,但在 Azure 訂用帳戶中建立代理程式 VM 之前,才會啟動。
建置完成後,請移至 主控台輸出。 您會看到組建是在 Azure 代理程式上遠端執行。
