云效流水线(Flow)提供了 Docker 部署能力,部署目标来源于流水线上游构建产物,例如阿里云镜像构建和自定义镜像构建等,本文主要介绍了添加镜像构建、Docker 部署任务,以及如何配置 Docker 部署任务。
添加镜像构建、Docker 部署任务
新建流水线,按需添加镜像构建任务。
指定镜像构建 Dockerfile 路径,详细信息,请参见云效spring-boot示例dockerfile。
添加 Docker 部署任务。
配置 Docker 部署任务
进入部署任务,进行如下配置:
新建主机组或者选择一个主机组,主机组用于管理部署的机器资源。关于如何创建主机组,请参见主机组管理。
说明通过 Docker 部署的机器需要您自行在机器上安装 Docker 软件。
配置部署脚本,在 Flow 中,一个典型的 Docker 部署的执行命令如下:
echo $DOCKER_PASSWORD | docker login --username $DOCKER_USERNAME --password-stdin registry.cn-hangzhou.aliyuncs.com docker run $image
当您所操作的镜像来自您的私有仓库时,您需要提供授权信息,为了安全起见,您可以使用 Flow 提供的变量功能,在变量中设置 Docker 登录用户名和密码
DOCKER_USERNAME
和DOCKER_PASSWORD
。在目标流水线编辑页面,选择 ,单击新建变量,配置变量信息。在部署脚本中使用命令
echo $DOCKER_PASSWORD | docker login --username $DOCKER_USERNAME --password-stdin
registry.cn-hangzhou.aliyuncs.com(地址根据您的项目实际情况输入) 进行登录操作,此后相关命令即可对私有仓库镜像进行操作。
配置变量 。变量分为两种类型,一种是上游输出变量,上游输出产物可以是阿里云镜像构建产物,也可以是自定义镜像构建产物。 另一种是自定义变量,可以配置自定义变量,然后在执行命令时变量会写入机器环境变量中,从而可以直接使用,例如部署脚本。在 Flow 中,一个典型的 Docker 部署的执行命令如下:
$key
。配置部署策略,避免不稳定发布对用户的影响,保障业务交付的稳定。