教學課程:使用在 Azure 中執行的 VM 調整 Jenkins 部署
重要
許多 Azure 服務都有 Jenkins 外掛程式。截至 2024 年 2 月 29 日,其中部分外掛程式將不支援。 Azure CLI 目前是整合 Jenkins 與 Azure 服務的建議方式。 如需詳細資訊,請參閱適用於 Azure 的 Jenkins 外掛程式一文。
本教學課程示範如何在 Azure 中建立 Linux 虛擬機,並將 VM 新增為 Jenkins 的工作節點。
在此教學課程中,您需要:
- 建立代理程式計算機
- 將代理程式新增至 Jenkins
- 建立新的 Jenkins freestyle 作業
- 在 Azure VM 代理程式上執行作業
必要條件
- Jenkins 安裝:如果您沒有 Jenkins 安裝的存取權, 請使用 Azure CLI 設定 Jenkins
設定代理程式虛擬機
使用 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。
設定 Jenkins URL
如果您使用 JNLP,則必須設定 Jenkins URL。
從功能表中,選取 [ 管理 Jenkins]。
在 [系統設定] 底下,選取 [設定系統]。
確認 Jenkins URL 已設定為 Jenkins 安裝的 HTTP 位址 -
http://<your_host>.<your_domain>:8080/
。選取 [儲存]。
將代理程式新增至 Jenkins
從功能表中,選取 [ 管理 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 會將虛擬機新增為新的工作節點。
在 Jenkins 中建立作業
從功能表中,選取 [ 新增專案]。
輸入
demoproject1
以取得名稱。選取 [Freestyle 專案]。
選取 [確定]。
在 [一般] 索引標籤中,選擇 [限制專案可以執行的位置],然後在 [卷標表達式] 中輸入
ubuntu
。 您會看到訊息,確認標籤是由在上一個步驟中建立的雲端組態所提供。在 [ 原始程式碼管理 ] 索引標籤中,選取 [Git ],並將下列 URL 新增至 [存放庫 URL ] 字段:
https://github.com/spring-projects/spring-petclinic.git
在 [建置] 索引標籤中,選取 [新增建置步驟],然後選取 [叫用最上層 Maven 目標]。 在 [目標] 欄位中輸入
package
。選取 [儲存]。
在 Azure VM 代理程式上建置新的作業
選取您在上一個步驟中建立的作業。
選取 [ 立即建置]。 新的組建會排入佇列,但在 Azure 訂用帳戶中建立代理程式 VM 之前,才會啟動。
建置完成後,請移至 主控台輸出。 您會看到組建是在 Azure 代理程式上遠端執行。