主机 Docker 部署

云效流水线(Flow)具备 Docker 部署能力,其部署目标来源于流水线上游的构建产物,例如阿里云镜像构建和自定义镜像构建等。本文将主要介绍如何添加镜像构建与 Docker 部署任务,以及如何配置 Docker 部署任务。

添加镜像构建、Docker 部署任务

  1. 新建流水线,按需添加镜像构建任务。

    高的 (23)

  2. 指定镜像构建 Dockerfile 路径,详细信息,请参见云效spring-boot示例dockerfile

    高的 (44)

  3. 添加 Docker 部署任务。

    高的 (26)

配置 Docker 部署任务

进入部署任务,进行如下配置:

  1. 新建主机组或者选择一个主机组,主机组用于管理部署的机器资源。关于如何创建主机组,请参见主机组管理

    高的 (27)

    说明

    通过 Docker 部署的机器需要您自行在机器上安装 Docker 软件。

  2. 配置Docker部署脚本。

    1. 当您所操作的镜像来自您的私有仓库时,您需要提供授权信息,为了安全起见,您可以使用 Flow 提供的变量功能,在变量中设置 Docker 登录用户名和密码DOCKER_USERNAMEDOCKER_PASSWORD。在目标流水线编辑页面,选择变量和缓存 > 变量,单击新建变量,配置变量信息。

      高的 (31)

    2. 在部署脚本中使用登录镜像仓库命令操作,echo ${DOCKER_PASSWORD} | docker login --username ${DOCKER_USERNAME} --password-stdin registry.cn-hangzhou.aliyuncs.com(镜像仓库地址根据您的项目实际情况输入 )此后相关命令即可对私有仓库镜像进行操作。 如下是部署脚本中登录镜像仓库的操作命令。

      echo ${DOCKER_PASSWORD} | docker login --username ${DOCKER_USERNAME} --password-stdin registry.cn-hangzhou.aliyuncs.com
  3. 配置变量,变量分为两种类型。

    • 一种是上游输出变量,上游输出产物可以是阿里云镜像构建产物,也可以是自定义镜像构建产物。配置上游产物的变量image镜像地址。

    • 另一种可以配置自定义变量,在执行命令时变量会写入机器环境变量中,从而可以直接使用,例如部署脚本,添加自定义变量appname赋值flow-example用作容器名称。高的

    • 如下是部署脚本中一个典型的运行Docker容器命令。

      docker run -d --name ${appname} ${image}
  4. 配置部署策略,避免不稳定发布对用户的影响,保障业务交付的稳定。

运行并查看目标流水线任务

在运行流水线任务完成后,在Docker部署节点,单击部署详情,可查看日志。image