快速入门:生成并部署到 Java Web 应用

Azure DevOps Services

在本快速入门中,你将创建一个 Azure Pipeline,用于生成 Java 应用并将其部署到 Linux 上的 Azure 应用服务。 完成后,只要将更改推送到存储库,就会有一个工作 CI/CD 管道,该管道会自动生成和部署应用。

可以使用 Tomcat 或 Java SE 作为运行时。

小提示

如果只想生成 Java 应用,请参阅 生成 Java 应用

先决条件

产品 要求
Azure DevOps - 一个 Azure DevOps 项目
- 能够在 Microsoft 托管的代理上运行管道。 可以购买并行作业,也可以请求免费层。
- 对 YAML 和 Azure Pipelines 的基本知识。 有关详细信息,请参阅创建第一个管道
- 权限:
     - 若要创建管道:必须位于 “参与者 ”组中,并且该组需要将 “创建生成管道 ”权限设置为“允许”。 项目管理员组的成员可以管理管道。
    - 若要创建服务连接:必须具有服务连接的管理员创建者角色。
GitHub - GitHub 帐户。
- 用于授权 Azure Pipelines 的 GitHub 服务连接
天蓝色 一个 Azure 订阅
产品 要求
Azure DevOps - 一个 Azure DevOps 项目
- 自托管代理。 若要创建一个代理,请参阅自托管代理
- 对 YAML 和 Azure Pipelines 的基本知识。 有关详细信息,请参阅创建第一个管道
- 权限:
    - 若要创建管道:必须位于 “参与者 ”组中,并且该组需要将 “创建生成管道 ”权限设置为“允许”。 项目管理员组的成员可以管理管道。
    - 若要创建服务连接:必须具有服务连接的管理员创建者角色。
GitHub - GitHub 帐户。
- 用于授权 Azure Pipelines 的 GitHub 服务连接
天蓝色 一个 Azure 订阅

获取代码

选择要使用的运行时。

如果 GitHub 中已有要部署的应用,则可以为该代码创建管道。

如果你是新用户,请在 GitHub 中为此存储库创建分支:

https://github.com/spring-petclinic/spring-framework-petclinic

创建应用服务计划和应用

登录到 Azure 门户,然后选择右上角的 Cloud Shell 按钮。

在 Linux 上创建应用服务计划和 Web 应用。

# Create a resource group to organize and manage related Azure resources
az group create --location eastus2 --name myapp-rg

# Create an App Service plan with Linux as the operating system
# The plan defines the compute resources for your web app
az appservice plan create -g myapp-rg -n myapp-service-plan --is-linux

# Create a web app using the App Service plan
# Configure Tomcat 10.1 with Java 17 as the runtime environment
az webapp create -g myapp-rg -p myapp-service-plan -n my-app-name --runtime "TOMCAT|10.1-java17"

创建管道

  1. 在 Azure DevOps 项目中,从左侧导航菜单中选择 “管道 ”。

  2. 如果此管道是项目中的第一个管道,请选择“ 新建管道 ”或 “创建管道 ”。

  3. 代码屏幕的“位置” 上,选择 “GitHub”。

  4. 可能会重定向到 GitHub 进行登录。 如果是这样,请输入 GitHub 凭据。

  5. “选择存储库 ”屏幕上,选择 .NET 应用位于的存储库。

  6. 你可能会被重定向到 GitHub 来安装 Azure Pipelines 应用。 如果是,请选择批准并安装

配置管道

  1. 出现“ 配置 ”选项卡时,选择“ 显示更多”,然后选择 Maven 包 Java 项目 Web 应用到 Azure 上的 Linux

  2. 创建管道时,可以自动创建 Azure 资源管理器服务连接 。 要开始,请选择您在其中创建了资源组的 Azure 订阅。

  3. 选择验证和配置。 新管道包括新的 Azure 资源管理器服务连接。

    Azure Pipelines 会创建一个 azure-pipelines.yml 文件,该文件定义你的 CI/CD 管道,它:

    • 包括生成阶段,用于生成项目,以及将它作为 Linux Web 应用部署到 Azure 的部署阶段。
    • 作为部署阶段的一部分,它还会创建默认名称与 Web 应用相同的 环境 。 可以选择修改环境名称。
  4. 请确保所有默认输入都适用于你的代码。

  5. 选择“ 保存并运行”。 系统会提示你提交消息,因为 azure-pipelines.yml 文件将添加到存储库。 编辑消息后,选择“ 保存并再次运行 ”以查看管道是否正常运行。

验证部署

当您的管道运行时,构建和部署阶段会从蓝色(正在运行)变为绿色(已完成)。 若要监控管道的运行情况,请选择阶段和作业。

管道运行后,通过访问您的站点验证应用是否正在运行:

https://my-app-name.azurewebsites.net/petclinic

若要浏览应用的部署历史记录,请转到环境。 在管道摘要中:

  1. 选择环境选项卡。
  2. 选择“查看环境”。

清理资源

每当处理完所创建的资源后,都可以使用以下命令将其删除:

az group delete --name myapp-rg

出现提示时输入 y

概要

已成功创建一个 Azure Pipeline,该管道会自动生成 Java 应用程序并将其部署到应用服务。 推送到存储库的任何更改现在都触发管道来生成和部署更新的应用。