Java 应用构建并部署到 ECS 主机

本文以一个 Java + Maven + 主机构建部署示例,教您如何快速使用云效流水线 Flow 发布一个项目。

1. 新建流水线

  1. 进入云效 > 流水线 Flow 首页 > 我的流水线,单击 新建流水线,打开 选择流水线模板弹窗,选择对应的开发语言,可以查看当前语言下的默认流水线模板,可以根据模板快速创建流水线。

  2. 单击 Java,选择 Java · 构建、部署到阿里云ECS/自有主机模板,单击创建,进入流水线编辑页面。高的

2. 编排流水线

2.1 添加流水线源

  1. 进入流水线编辑页 > 流程配置,打开 添加流水线源,选择 示例代码源,默认选中 Java 代码类型,自动填充代码仓库地址、默认分支、工作目录等。本例使用云效示例代码库 https://atomgit.com/flow-example/spring-boot,无需修改。

  2. 单击 添加,流水线源区域便会出现已添加的流水线源。高的 (3)

2.2 配置Java构建任务

  1. 单击 Java 构建上传任务,打开任务配置面板。

  2. 查看 Java 构建步骤配置,可按需修改。高的 (4)

  3. 查看 构建物上传步骤配置,可按需修改。本例中,需要将target/application.jar和deploy.sh两个文件打包到制品中,供后续主机部署任务使用。打包路径按下图配置。高的 (5)

2.3 配置主机部署任务

  1. 单击主机部署任务,打开任务配置面板。

  2. 配置如下表单:

    1. 制品:下拉选择上游构建阶段的产物。

    2. 主机组:选择待部署的主机组。如无主机组,请参考 主机组。如需要多主机组部署可增加并行部署任务。

    3. 下载路径:该路径为构建上传步骤中打包的制品下载到您的主机时设置的路径,如有需要可自由配置。本例中为:/home/admin/app/package.tgz

    4. 执行用户:填写执行部署脚本的用户,如 root或者 admin等。本例中为:root

    5. 部署脚本:因为实际的部署脚本已经打包到了构建产出的压缩包中,因此部署脚本可以简单的进行解压和执行即可。填写如下部署脚本:

mkdir -p /home/admin/application
tar zxvf /home/admin/app/package.tgz -C /home/admin/application/
sh /home/admin/application/deploy.sh restart

高的 (7)

3. 运行流水线

上述配置完成,单击 保存并运行,打开 运行配置弹窗。默认 master分支,单击 运行即可触发流水线运行,进入流水线运行页。高的 (9)

4. 查看 Java 构建部署任务运行结果

  1. 进入流水线运行页面,可以查看流水线运行进度和结果。单击 Java 构建上传任务卡片上的日志可以查看构建日志。高的高的 (1)

  2. 单击 主机部署任务卡片上的 部署详情可以查看部署单详情:部署耗时、部署状态、日志等。部署状态为已完成即项目发布完成。高的 (2)

5. 配置运行时通知

如有需要,流水线中可配置消息通知,可以将流水线运行过程中的信息反馈给相应同学,便于快速定位和排查问题。