快速入門:在 Azure Linux VM 上建立 Jenkins 伺服器Quickstart: Create a Jenkins server on an Azure Linux VM

本快速入門示範如何在 Ubuntu Linux VM 上安裝 Jenkins,以及設定為使用 Azure 的工具和外掛程式。This quickstart shows how to install Jenkins on an Ubuntu Linux VM with the tools and plug-ins configured to work with Azure. 當您完成時,您可讓在 Azure 中執行的 Jenkins 伺服器從 GitHub 建置範例 Java 應用程式。When you're finished, you have a Jenkins server running in Azure building a sample Java app from GitHub.

PrerequisitesPrerequisites

  • 在您電腦的命令列上存取SSH (例如 Bash 殼層或 PuTTY)Access to SSH on your computer's command line (such as the Bash shell or PuTTY)

從方案範本建立 Jenkins VMCreate the Jenkins VM from the solution template

Jenkins 支援由 Jenkins 伺服器將工作委派給一或多個代理程式的模型,這可讓單一 Jenkins 安裝裝載大量的專案,或是針對建置或測試需求提供不同的環境。Jenkins supports a model where the Jenkins server delegates work to one or more agents to allow a single Jenkins installation to host a large number of projects or to provide different environments needed for builds or tests. 本節中的步驟會引導您在 Azure 上安裝和設定 Jenkins 伺服器。The steps in this section guide you through installing and configuring a Jenkins server on Azure.

  1. 在瀏覽器中開啟適用於 Jenkins 的 Azure Marketplace 映像In your browser, open the Azure Marketplace image for Jenkins.

  2. 選取 [立即取得] 。Select GET IT NOW.

    選取 [立即取得] 以開始 Jenkins Marketplace 映像的安裝程序。

  3. 檢閱定價詳細資料和條款資訊之後,選取 [繼續] 。After reviewing the pricing details and terms information, select Continue.

    Jenkins Marketplace 映像定價和條款資訊。

  4. 選取 [建立] 以在 Azure 入口網站中設定 Jenkins 伺服器。Select Create to configure the Jenkins server in the Azure portal.

    安裝 Jenkins Marketplace 映像。

  5. 在 [基本] 索引標籤中,指定下列值:In the Basics tab, specify the following values:

    • Name (名稱):輸入 JenkinsName - Enter Jenkins.

    • 使用者名稱 - 輸入當登入執行 Jenkins 所在的虛擬機器時,要使用的使用者名稱。User name - Enter the user name to use when signing in to the virtual machine on which Jenkins is running. 使用者名稱必須符合特定需求The user name must meet specific requirements.

    • 驗證類型 - 選取 [SSH 公開金鑰] 。Authentication type - Select SSH public key.

    • SSH 公開金鑰 - 複製並貼上 RSA 公開金鑰,可以是單行格式 (開頭為 ssh-rsa) 或多行 PEM 格式。SSH public key - Copy and paste an RSA public key in single-line format (starting with ssh-rsa) or multi-line PEM format. 您可以使用 Linux 和 macOS 上的 ssh-keygen 或 Windows 上的 PuTTYGen 來產生 SSH 金鑰。You can generate SSH keys using ssh-keygen on Linux and macOS, or PuTTYGen on Windows. 如需有關 SSH 金鑰和 Azure 的詳細資訊,請參閱如何在 Azure 上搭配 Windows 使用 SSH 金鑰一文。For more information about SSH keys and Azure, see the article, How to Use SSH keys with Windows on Azure.

    • 訂用帳戶 - 選取您要在其中安裝 Jenkins 的 Azure 訂用帳戶。Subscription - Select the Azure subscription into which you want to install Jenkins.

    • 資源群組 - 選取 [新建] ,然後為資源群組 (作為組成 Jenkins 安裝之資源集合的邏輯容器) 輸入名稱。Resource group - Select Create new, and enter a name for the resource group that serves as a logical container for the collection of resources that make up your Jenkins installation.

    • 位置 - 選取 [美國東部] 。Location - Select East US.

      在 [基本] 索引標籤中輸入 Jenkins 的驗證和資源群組資訊。

  6. 選取 [確定] 以繼續前往 [其他設定] 索引標籤。Select OK to proceed to the Additional Settings tab.

  7. 在 [其他設定] 索引標籤中,指定下列值:In the Additional Settings tab, specify the following values:

    • 大小 - 為您的 Jenkins 虛擬機器選取適當大小選項。Size - Select the appropriate sizing option for your Jenkins virtual machine.

    • VM 磁碟類型 - 指定 HDD (硬碟) 或 SSD (固態硬碟),以表示 Jenkins 虛擬機器可使用哪種儲存磁碟類型。VM disk type - Specify either HDD (hard-disk drive) or SSD (solid-state drive) to indicate which storage disk type is allowed for the Jenkins virtual machine.

    • 虛擬網路 - (選擇性) 選取 [虛擬網路] 可修改預設設定。Virtual network - (Optional) Select Virtual network to modify the default settings.

    • 子網路 - 選取 [子網路] 、確認資訊,並選取 [確定] 。Subnets - Select Subnets, verify the information, and select OK.

    • 公用 IP 位址 - IP 位址名稱預設為您在上一頁中以尾碼為 -IP 指定的 Jenkins 名稱。Public IP address - The IP address name defaults to the Jenkins name you specified in the previous page with a suffix of -IP. 您可以選取選項來變更該預設值。You can select the option to change that default.

    • 網域名稱標籤 - 為 Jenkins 虛擬機器指定完整 URL 值。Domain name label - Specify the value for the fully qualified URL to the Jenkins virtual machine.

    • Jenkins 版本類型 - 從選項中選取所需的版本類型:LTSWeekly buildAzure VerifiedJenkins release type - Select the desired release type from the options: LTS, Weekly build, or Azure Verified. LTSWeekly build 選項在 Jenkins LTS Release Line (英文) 一文中有說明。The LTS and Weekly build options are explained in the article, Jenkins LTS Release Line. Azure Verified 選項是指已經過驗證可在 Azure 上執行的 Jenkins LTS 版本 (英文)。The Azure Verified option refers to a Jenkins LTS version that has been verified to run on Azure.

    • JDK 類型 - 要安裝的 JDK。JDK Type - JDK to be installed. 預設值為 OpenJDK 經過測試、認證的 Zulu 組建。Default is Zulu tested, certified builds of OpenJDK.

      在 [設定] 索引標籤中輸入 Jenkins 的虛擬機器設定。

  8. 選取 [確定] 以繼續前往 [整合設定] 索引標籤。Select OK to proceed to the Integration Settings tab.

  9. 在 [整合設定] 索引標籤中,指定下列值:In the Integration Settings tab, specify the following values:

    • 服務主體 - 新增至 Jenkins 作為向 Azure 驗證的認證服務主體。Service Principal - The service principal is added into Jenkins as a credential for authentication with Azure. Auto 表示將由 MSI (受控服務識別) 建立主體。Auto means that the principal will be created by MSI (Managed Service Identity). Manual 表示應該由您建立主體。Manual means that the principal should be created by you.
      • 應用程式識別碼祕密 - 如果在 [服務主體] 選項選取 Manual 選項,則必須為服務主體指定 Application IDSecretApplication ID and Secret - If you select the Manual option for the Service Principal option, you'll need to specify the Application ID and Secret for your service principal. 建立服務主體時,請注意預設角色是參與者,其資格足以使用 Azure 資源。When creating a service principal, note that the default role is Contributor, which is sufficient for working with Azure resources.
    • 啟用雲端代理程式 - 指定代理程式的預設雲端範本,其中 ACI 是指 Azure 容器執行個體,VM 是指虛擬機器。Enable Cloud Agents - Specify the default cloud template for agents where ACI refers to Azure Container Instance, and VM refers to virtual machines. 如果您不想要啟用雲端代理程式,也可以指定 NoYou can also specify No if you don't wish to enable a cloud agent.
  10. 選取 [確定] 以繼續前往 [摘要] 索引標籤。Select OK to proceed to the Summary tab.

  11. 當 [摘要] 索引標籤顯示時,就會驗證輸入的資訊。When the Summary tab displays, the information entered is validated. 一旦您在索引標籤頂端看到 [通過驗證] 訊息,請選取 [確定] 。Once you see the Validation passed message (at the top of the tab), select OK.

    [摘要] 索引標籤會顯示並驗證您選取的選項。

  12. 當 [建立] 索引標籤顯示時,請選取 [建立] 以建立 Jenkins 虛擬機器。When the Create tab displays, select Create to create the Jenkins virtual machine. 當您的伺服器準備就緒時,會在 Azure 入口網站中顯示通知。When your server is ready, a notification displays in the Azure portal.

    Jenkins 已就緒通知。

連線到 JenkinsConnect to Jenkins

  1. 在網頁瀏覽器中瀏覽至您的虛擬機器 (例如 http://jenkins2517454.eastus.cloudapp.azure.com/)。Navigate to your virtual machine (for example, http://jenkins2517454.eastus.cloudapp.azure.com/) in your web browser. Jenkins 主控台無法透過不安全的 HTTP 存取,因此頁面上會提供指示,以便從您的電腦使用 SSH 通道安全地存取 Jenkins 主控台。The Jenkins console is inaccessible through unsecured HTTP so instructions are provided on the page to access the Jenkins console securely from your computer using an SSH tunnel.

    將 Jenkins 解除鎖定

  2. 在頁面從命令列使用 ssh 命令設定通道,並以先前從方案範本設定虛擬機器時選擇的虛擬機器系統管理員的使用者名稱取代 usernameSet up the tunnel using the ssh command on the page from the command line, replacing username with the name of the virtual machine admin user chosen earlier when setting up the virtual machine from the solution template.

    ssh -L 127.0.0.1:8080:localhost:8080 jenkinsadmin@jenkins2517454.eastus.cloudapp.azure.com
    
  3. 啟動通道後,在本機電腦上瀏覽至 http://localhost:8080/After you have started the tunnel, navigate to http://localhost:8080/ on your local machine.

  4. 透過 SSH 連線到 Jenkins VM 時,在命令列中執行下列命令,以取得初始密碼。Get the initial password by running the following command in the command line while connected through SSH to the Jenkins VM.

    sudo cat /var/lib/jenkins/secrets/initialAdminPassword
    
  5. 第一次使用此初始密碼時,請將 Jenkins 儀表板解除鎖定。Unlock the Jenkins dashboard for the first time using this initial password.

    將 Jenkins 解除鎖定

  6. 在下一個頁面上選取 [安裝建議的外掛程式] ,然後建立用來存取 Jenkins 儀表板的 Jenkins 系統管理使用者。Select Install suggested plugins on the next page and then create a Jenkins admin user used to access the Jenkins dashboard.

    Jenkins 已就緒!

Jenkins 伺服器現在已準備要建置程式碼。The Jenkins server is now ready to build code.

建立您的第一個作業Create your first job

  1. 從 Jenkins 主控台選取 [建立新的作業] ,然後將它命名為 mySampleApp 並選取 [自由樣式專案] ,然後選取 [確定] 。Select Create new jobs from the Jenkins console, then name it mySampleApp and select Freestyle project, then select OK.

    建立新作業

  2. 選取 [原始程式碼管理] 索引標籤,啟用 [Git] ,並且在 [存放庫 URL] 欄位中輸入下列 URL:https://github.com/spring-guides/gs-spring-boot.gitSelect the Source Code Management tab, enable Git, and enter the following URL in Repository URL field: https://github.com/spring-guides/gs-spring-boot.git

    建立 Git 存放庫

  3. 選取 [建置] 索引標籤,然後選取 [新增建置步驟] 、[叫用 Gradle 指令碼] 。Select the Build tab, then select Add build step, Invoke Gradle script. 選取 [使用 Gradle 包裝函式] ,然後在 [包裝函式位置] 中輸入 complete 並輸入 build 作為 [工作] 。Select Use Gradle Wrapper, then enter complete in Wrapper location and build for Tasks.

    使用要建置的 Gradle 包裝函式

  4. 選取 [進階] ,然後在 [根組建指令碼] 欄位中輸入 completeSelect Advanced and then enter complete in the Root Build script field. 選取 [儲存] 。Select Save.

    在 Gradle 包裝函式建置步驟中設定進階設定

建置程式碼Build the code

  1. 選取 [立即建置] 以編譯程式碼和封裝範例應用程式。Select Build Now to compile the code and package the sample app. 當您的組建完成時,選取專案的 [工作區] 連結。When your build completes, select the Workspace link for the project.

    瀏覽至可從組建取得 JAR 檔案的工作區

  2. 瀏覽至 complete/build/libs,並確定 gs-spring-boot-0.1.0.jar 在那裡以確認您的組建成功。Navigate to complete/build/libs and ensure the gs-spring-boot-0.1.0.jar is there to verify that your build was successful. 您的 Jenkins 伺服器現在已準備要在 Azure 中建置自己的專案。Your Jenkins server is now ready to build your own projects in Azure.

針對 Jenkins 解決方案範本進行疑難排解Troubleshooting the Jenkins solution template

如果您遇到任何有關 Jenkins 解決方案範本的錯誤,請在 Jenkins GitHub 存放庫中提交問題。If you encounter any bugs with the Jenkins solution template, file an issue in the Jenkins GitHub repo.

後續步驟Next Steps