通过使用流水线Flow,自动化构建Node.js应用镜像,并推送到ACR镜像仓库,由ACK集群发布YAML对象资源应用部署,完成整条自动化流水线任务。
前提条件
背景信息
关于示例项目代码仓库涉及到Dockerfile指令文件和YAML对象资源文件,为了更顺利的完成Node.js构建镜像并部署ACK集群流水线任务,针对YAML对象资源配置做进一步说明,YAML文件:配置三个对象资源分别为Secret、Deployment、Service,因为本文使用了ACR镜像仓库个人版实例并且有访问凭据设置,所以在YAML文件里配置了secret资源镜像仓库地址、账号和密码信息,请根据自定义的环境进行操作。
步骤一:新建流水线
登录流水线Flow服务控制台,在控制台界面,请单击右侧上方新建流水线按钮。
在弹出的对话框,根据需求选择合适的流水线模板,选择好流水线模板后,单击创建按钮。
步骤二:配置流水线-代码源
当您创建完成流水线后,将会跳转到流程配置任务节点操作界面,单击任务节点添加流水线源按钮。
说明关于添加流水线源,您可以选择多种代码源的托管仓库平台,如:自建Gitlab、Codeup、Github等,根据需求选择合适的代码源。
选择代码源选中Github,单击添加服务链接,进行流水线Flow服务访问Github授权,选择仓库和分支,提供示例图参考。
步骤三:配置流水线-镜像构建
当代码源任务添加完成后,单击任务节点Docker 镜像构建按钮,在弹出编辑页面,完成参数配置。
参数
说明
任务名称
自定义任务名称。
构建集群
根据需求选择合适的构建集群地区。
说明本示例选择使用云效中国香港构建集群,为了快速的访问Github,请根据需求选择合适构建集群。
构建环境
根据需求选择合适的构建环境。
说明任务执行期间,流水线任务构建环境分配给用户使用,构建环境使用权限归属用户,任务执行脚本由用户自定义。
下载流水线源
根据需求选择合适的方式。
在任务步骤配置项,配置任务镜像构建并推送阿里云。
参数
说明
步骤名称
自定义步骤名称。
选择服务连接
添加容器镜像服务ACR连接。
地域
根据ACR实例所属地域选择。
仓库
选择ACR实例目标自定义仓库。
私有构建集群使用 VPC 地址推送镜像
如果勾选此项,镜像构建完成后将使用 VPC 地址进行镜像推送,仅在私有构建集群场景生效。
标签
标签为Docker镜像Tag。支持固定参数例如1.0,或者动态参数例如${DATETIME}。
Dockerfile路径
配置自定义Dockerfile文件所在项目的路径地址。
步骤四:配置流水线-ACK部署
完成上述镜像构建任务后,单击任务节点Kubernetes 发布按钮,在弹出编辑页面,请选择构建集群为云效中国香港构建集群,保持与镜像构建任务同一个构建集群。
在任务步骤配置项,开始配置Kubectl 发布任务。
参数
说明
步骤名称
自定义步骤名称。
集群连接
新建集群连接,连接到自定义Kubernetes或者阿里云容器服务集群。
说明关于集群连接,具体操作请参阅Kubernetes 服务连接。
Kubectl 版本
根据需求选择与集群适配的Kubectl版本,Kubectl版本为当前步骤中使用的kubectl客户端版本。
命名空间
资源命名空间为Kubernetes集群下的命名空间。例如"default"。
YAML 路径
设置资源部署文件YAML或者目录路径。
说明选择YAML文件或者目录在源码中的相对路径。例如"manifests"。
变量
参数变量为需要动态替换的占位符。在YAML中您可以使用占位符为了获得上游镜像构建后镜像地址,如${IMAGE},并在发布时自动替换。
步骤五:运行并查看流水线
完成流水线任务节点配置后,请单击右侧上方保存并运行按钮,下图是流水线运行完成成功状态。
在构建任务节点中,单击日志查看流水线任务执行的过程日志,如图可以观察到ACK集群通过YAML资源文件部署的对象资源。
查看ACK集群节点部署的Node.js应用信息,至此Node.js应用构建并部署到ACK自动化流水线完成。