入门:在 Azure Linux VM 上安装 Jenkins

本文介绍如何在 Ubuntu Linux VM 上安装 Jenkins,并配置工具和插件以与 Azure 配合使用。

您将在本文中学习如何:

  • 创建下载并安装 Jenkins 的安装文件
  • 创建资源组
  • 使用安装文件创建虚拟机
  • 打开端口 8080 以访问虚拟机上的 Jenkins
  • 通过 SSH 连接到虚拟机
  • 在 GitHub 中基于一个示例 Java 应用程序配置示例 Jenkins 作业
  • 生成示例 Jenkins 作业

1.配置环境

  • Azure 订阅:如果没有 Azure 订阅,请在开始之前创建 一个免费帐户

2. 打开 Cloud Shell

  1. 如果已打开 Cloud Shell 会话,可以跳到下一部分。

  2. 浏览到 Azure 门户

  3. 如有必要,请登录到 Azure 订阅并更改 Azure 目录。

  4. 打开 Cloud Shell。

    在 Azure 门户中的顶部菜单中打开 Cloud Shell。

  5. 如果以前未使用 Cloud Shell,请配置环境和存储设置。

  6. 选择命令行环境。

    选择要在 Cloud Shell 中使用的 CLI。

3. 创建虚拟机

  1. 创建名为 jenkins-get-started 的测试目录。

  2. 切换到测试目录。

  3. 创建名为 cloud-init-jenkins.txt 的文件。

  4. 将以下代码粘贴到新文件中:

    #cloud-config
    package_upgrade: true
    runcmd:
      - sudo apt install openjdk-17-jre -y
      - curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null
      -  echo 'deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/' | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null
      - sudo apt-get update && sudo apt-get install jenkins -y
      - sudo service jenkins restart
    
    
    
  5. 运行 az group create 创建资源组。

    az group create --name jenkins-get-started-rg --location eastus
    
  6. 运行 az vm create 以创建虚拟机。

    az vm create \
    --resource-group jenkins-get-started-rg \
    --name jenkins-get-started-vm \
    --image UbuntuLTS \
    --admin-username "azureuser" \
    --generate-ssh-keys \
    --public-ip-sku Standard \
    --custom-data cloud-init-jenkins.txt
    
  7. 运行 az vm list 以验证新虚拟机的创建(和状态)。

    az vm list -d -o table --query "[?name=='jenkins-get-started-vm']"
    
  8. 当 Jenkins 在端口 8080 上运行时,请运行 az vm open ,在新虚拟机上打开端口 8080。

    az vm open-port \
    --resource-group jenkins-get-started-rg \
    --name jenkins-get-started-vm  \
    --port 8080 --priority 1010
    

4. 配置 Jenkins

  1. 运行 az vm show 以获取示例虚拟机的公共 IP 地址。

    az vm show \
    --resource-group jenkins-get-started-rg \
    --name jenkins-get-started-vm -d \
    --query [publicIps] \
    --output tsv
    

    要点

    • --query 参数将输出限制为虚拟机的公共 IP 地址。
  2. 使用上一步中检索的 IP 地址,通过 SSH 连接到虚拟机。 需要确认连接请求。

    ssh azureuser@<ip_address>
    

    要点

    • 成功连接后,Cloud Shell 提示符包括用户名和虚拟机名称: azureuser@jenkins-get-started-vm
  3. 通过获取 Jenkins 服务的状态来验证 Jenkins 是否正在运行。

    service jenkins status
    

    要点

    • 如果收到有关服务不存在的错误,可能需要等待几分钟才能安装和初始化所有内容。
  4. 获取自动生成的 Jenkins 密码。

    sudo cat /var/lib/jenkins/secrets/initialAdminPassword
    
  5. 使用 IP 地址,在浏览器中打开以下 URL: http://<ip_address>:8080

  6. 输入之前检索的密码,然后选择“ 继续”。

    用于解锁 Jenkins 的初始页面

  7. 选择要安装的插件

    选择安装所选插件的选项

  8. 在页面顶部的筛选器框中,输入 github。 选择 GitHub 插件,然后选择“ 安装”。

    安装 GitHub 插件

  9. 输入第一个管理员用户的信息,然后选择“ 保存并继续”。

    输入第一个管理员用户的信息

  10. “实例配置 ”页上,选择“ 保存并完成”。

    实例配置的确认页

  11. 选择“ 开始使用 Jenkins”。

    Jenkins 已准备就绪!

5.创建第一个作业

  1. 在 Jenkins 主页上,选择“ 创建作业”。

    Jenkins 控制台主页

  2. 输入作业名称 mySampleApp,选择 Freestyle 项目,然后选择“ 确定”。

    新建作业

  3. 选择“源代码管理”选项卡。启用 Git 并输入存储库 URL 值的以下 URLhttps://github.com/spring-guides/gs-spring-boot.git 然后将 分支说明符 更改为 */main

    定义 Git 存储库

  4. 选择“ 生成 ”选项卡,然后选择“ 添加生成”步骤

    添加新生成步骤

  5. 从下拉菜单中选择 “调用 Gradle 脚本”。

    选择 Gradle 脚本选项

  6. 选择使用 Gradle 包装器,然后在包装器位置任务中输入completebuild

    Gradle 脚本选项

  7. 选择“高级”,然后在complete字段中输入

    高级 Gradle 脚本选项

  8. 滚动到页面底部,然后选择“ 保存”。

6.生成示例 Java 应用

  1. 当项目的主页显示时,选择“ 立即生成 ”以编译代码并打包示例应用。

    项目主页

  2. 生成历史记录标题下方的图形显示正在构建作业。

    正在进行的作业生成

  3. 生成完成后,选择 “工作区” 链接。

    选择工作区链接。

  4. 导航到complete/build/libs以查看.jar文件已成功生成。

    目标库验证生成是否成功。

  5. Jenkins 服务器现已准备好在 Azure 中生成自己的项目!

Troubleshooting

如果在配置 Jenkins 时遇到问题,请参阅 Jenkins 安装页 ,了解最新说明和已知问题。

后续步骤