当前位置:Java -> 使用Azure DevOps为Java构建CI/CD流水线

使用Azure DevOps为Java构建CI/CD流水线

让我们面对现实吧,大多数Java开发人员一听到“Visual Studio”这个词就会感到不适,误以为这个工具只适用于.NET用户。我必须承认,我曾经也是其中一个有罪的Java开发人员,直到我发现它实际上是任何语言或平台在项目发布周期中使用的强大解决方案。

Azure DevOps服务提供了许多功能,比如添加团队成员、看板、仓库选项、构建/发布管道、测试计划、构建制品(如Maven)等等。它还与你喜爱的工具集成,如Eclipse、IntelliJ、Jenkins或者Chef。对于微服务,Java开发人员将高兴地发现它支持包括Docker、Kubernetes、Cloud Foundry等在内的容器构建服务。

本教程将演示如何使用Azure DevOps来设置一个发布自动化过程,用于构建和部署Java Web应用程序。

先决条件

  • 注册或登录你的Azure DevOps账户
  • 复制并保存从GitHub获取的示例Java代码的Git URL
  • 创建一个Azure Web App(注意:为这个Java Web应用程序选择以下选项。操作系统 = Linux,运行时堆栈 = JRE 8)

如何使用Azure DevOps构建Java的CI/CD管道

1. 创建项目和Git仓库

  1. 在Azure DevOps项目页面上,点击"新项目",然后输入你的项目名。
  2. "版本控制"下拉菜单中选择“Git”,然后点击"创建"按钮继续。
  3. 点击"或导入仓库" 下面的“导入”按钮,粘贴上面示例Java代码的Git URL。然后点击"导入"继续。

图像标题

2. 为Maven创建构建定义

Azure DevOps中的构建定义会在每次Java源代码提交时自动执行构建中的所有任务。在这个示例中,Azure DevOps将使用Maven构建JavaSpring Boot项目。

  1. 在Azure DevOps项目页面顶部点击“构建和发布”选项卡,然后选择“构建”链接。
  2. 点击“新管道”按钮,然后点击“继续”开始定义您的构建任务。
  3. 从模板列表中选择"Maven",然后点击“应用”按钮构建您的Java项目。

    图像标题

  4. 使用代理池字段的下拉菜单选择托管的Linux预览选项。这告诉Azure DevOps要使用哪个构建服务器。你也可以使用你的私有定制构建服务器。
  5. 要配置连续集成,请选择触发器选项卡并勾选启用连续集成复选框。

    图像标题

  6. 使用保存并排队下拉菜单选择保存并排队选项。
  7. 在弹出窗口中,验证“托管的Linux预览”已选择为代理池字段。然后点击排队按钮构建Java应用程序。
  8. 通过点击生成的构建编号来验证构建任务是否成功完成。

图像标题


3. 为Java Web应用程序创建发布定义

Azure DevOps中的发布管道会在构建过程成功完成后自动触发构建制品部署到像Azure这样的目标环境。发布管道可以为开发、测试、暂存或生产环境创建。

  1. 点击项目页面顶部的构建和发布选项卡,然后选择“Releases”链接。
  2. 点击新的管道按钮。在模板列表顶部,然后点击“空作业”链接
  3. 输入"阶段名称"(例如Dev、Test、Staging或Production)。然后点击“X”按钮关闭弹出窗口
  4. 点击"+ 添加"按钮在Artifacts部分。这将链接构建定义(例如Maven构建)中的构件到此发布定义。Image title

  5. 使用下拉菜单选择你的构建定义作为“源(构建管道)”,然后点击"添加"按钮继续。
  6. 点击管道上的"任务"选项卡。然后,选择你的阶段名称。
  7. 点击代理作业部分的“+”链接添加部署任务。
  8. 在任务列表下选择"Azure App Service Deploy"任务,然后点击“添加”按钮
  9. 在"Azure App Service Deploy"页面,设置下拉菜单中的版本为"4.* (预览)"
  10. 使用"Azure订阅"下拉菜单选择你的Azure订阅ID。
  11. "应用服务类型"下拉菜单中选择"Web App on Linux"
  12. "应用服务名称"下拉菜单中选择你上面创建的Azure Web App实例的名称。
  13. 对于"包或文件夹"字段,导航至项目生成的.jar文件Image title

  14. "运行时堆栈"下拉菜单中选择"JRE 8"。注意:如果在列表中看不到JRE 8,请点击字段旁边的刷新按钮。
  15. 点击左侧导航栏上的"代理作业"链接。选择“托管Linux预览”在代理池下拉菜单中
  16. 要启用持续部署,点击"管道"选项卡
  17. 在Artifacts部分,点击闪电图标。然后将"持续部署触发器" 设置为已启用。点击"保存"按钮,然后点击“确认”按钮。Image title

  18. 点击"+ 发布"下拉菜单,然后选择"创建一个发布"
  19. 在弹出窗口中,点击“创建”按钮。
  20. 点击生成的“发布编号”查看你的部署状态。

4. 测试已部署的Java Web应用

  1. 打开网页浏览器并粘贴你的web应用URL:
    https://{your-app-service-name}.azurewebsites.net
  2. 网页应该显示Spring音乐专辑:

Image title

总结

很高兴看到微软正在采取简单的步骤,如更有吸引力的命名变更和接纳多个开发者社区,以促进所有开发者的能力。Azure DevOps为开发人员和团队提供了一个强大的解决方案,可协作并自动生成CI/CD流水线,从而更快地交付应用程序。

推荐阅读: 15.一枚正反概率不一样的硬币,如何当一枚正常的硬币来用(正反概率相同)?

本文链接: 使用Azure DevOps为Java构建CI/CD流水线