编辑流水线¶
创建自定义流水线之后,需要手动定义流水线阶段。目前支持通过编辑 Jenkinsfile 或通过图形化界面表单为流水线定义执行阶段。此外,如需更改流水线各阶段的配置,也可参考本文调整各项配置。
Note
- 有关编辑流水线时涉及到的概念,可参考流水线中的概念
- 有关编辑流水线时涉及到的参数,可参考图形化任务模板参数说明
前提条件¶
- 创建工作空间、创建用户。
- 将该用户添加至该工作空间,并赋予 workspace editor 或更高权限。
- 创建可以访问代码仓库、镜像仓库、集群的三个凭证,可参考凭证管理。
-
创建自定义流水线,并且需要在构建参数中添加两个字符串参数。这些参数将用于镜像构建的命令中。参数说明如下:
参数类型 参数名称 描述信息 字符串 registry 镜像仓库地址。本例中使用 release-ci.daocloud.io 字符串 project 镜像仓库中的项目名称。本例中使用 demo 字符串 name 镜像的名称。本例中使用 http-hello
通过界面表单编辑流水线¶
应用工作台设计了图形化流水线编辑视图,能够兼容编辑 Jenkinsfile 中的大部分自定义操作, 便于查看或定义流水线的每个阶段 (Stage) 和每个步骤 (Step),实现所见即所得的流水线编辑体验。
界面布局说明¶
-
点击一个创建好的自定义流水线。在右上角点击 编辑流水线 ,进入图形化编辑页面。
-
图形化编辑页面包括两个区域:画布(左侧) 和 阶段设置(右侧) 。
-
点击 +添加阶段 后,会生成一个串行阶段,点击后,会生成一个新的阶段,可以在该阶段中添加流水线步骤, 通过选择步骤类型,可以快速创建当前阶段中的流水线步骤。
-
点击 +添加并行阶段 后,会生成一个并行阶段,点击后,会生成一个新的阶段,可以在该阶段中添加流水线步骤, 通过选择步骤类型,可以快速创建当前阶段中的流水线步骤。
-
阶段创建后,点击 阶段 ,可以用过阶段进行阶段配置。支持设置阶段的名称、Agent、触发条件、步骤。
-
配置全局设置¶
点击 全局设置 ,从 类型 下拉列表中选择 node,从 label 下拉列表选择 go 。
添加阶段 - 拉取源代码¶
-
点击画布中的 添加阶段 。在右侧的阶段设置中设置名称:git clone。
-
点击 添加步骤 ,在弹出的对话框中步骤类型下选择 git clone ,参照下表,对相关参数进行配置。
- 仓库 URL:输入仓库地址。
- 分支:不填写,默认为 master 分支。
- 凭证:如果您的仓库属于私有仓库则需要提供一个凭证。
添加阶段 - 单元测试¶
-
点击画布中的 添加阶段 。在右侧的阶段设置中设置名称:unit test。
-
在步骤模块中选择开启 指定容器 ,在弹出的对话框中填写容器名称:go,然后点击 确定 。
-
点击 添加步骤以对代码进行单元测试,并生成测试报告 ,在弹出的对话框中步骤类型下选择 shell,并在命令行中输入以下命令,然后点击 确定 。
添加阶段 - 构建并推送镜像¶
-
点击画布中的 添加阶段 。在右侧的阶段设置中设置名称:build & push。
-
在步骤模块中选择开启 指定容器 ,在弹出的对话框中填写容器名称:go,然后点击 确定 。
-
在步骤模块中选择开启 使用凭证 ,在弹出的对话框中填写相关参数,然后点击 确定 。
- 凭证:选择创建的 docker hub 凭证,用户访问镜像仓库。选择已创建好的 “docker-credential” 凭证。
- 密码变量:PASS
- 用户名变量:USER
-
点击 添加步骤 进行代码构建,在弹出的对话框中步骤类型下选择 shell,参并在命令行中输入以下命令,然后点击 确定 。
-
点击 添加步骤 以根据源码中的 Dockerfile 构建 Docker 镜像,在弹出的对话框中步骤类型下选择 shell, 参并在命令行中输入以下命令,然后点击 确定 。
-
点击 添加步骤 以登录镜像仓库并将镜像推送至镜像仓库中,在弹出的对话框中步骤类型下选择 shell, 参并在命令行中输入以下命令,然后点击 确定 。
-
点击 添加步骤 以将镜像推送至镜像仓库中,在弹出的对话框中步骤类型下选择 shell,参并在命令行中输入以下命令,然后点击 确定 。
Note
镜像更新后还可以实现触发流水线,具体操作请参考触发流水线
添加阶段 - 审核¶
-
点击画布中的 添加阶段 。在右侧的阶段设置中设置名称:review。
-
点击 添加步骤 ,在弹出的对话框中步骤类型下选择 审核 ,在消息字段中填入 @admin ,即 admin 帐户在流水线运行到该阶段时会进行审核,然后点击 确定 。
添加阶段 - 部署至集群¶
-
点击画布中的 添加阶段 。在右侧的阶段设置中设置名称:deploy。
-
在步骤模块中选择开启 指定容器 ,在弹出的对话框中填写容器名称:go,然后点击 确定 。
-
在步骤模块中选择开启 使用凭证 ,在弹出的对话框中填写相关参数,然后点击 确定 。
-
凭证:选择 kubeconfig 类型的凭证。
-
kubeconfig 变量:如果使用的是 kubectl apply 的部署方式,变量值必须为 KUBECONFIG。
-
-
点击 添加步骤 以进行集群部署操作,在弹出的对话框中步骤类型下选择 shell,参并在命令行中输入以下命令,然后点击 确定 。
运行流水线¶
-
在流水详情页面点击 立即执行 。在弹出的对话框中设置前提条件中定义的三个字符串参数,点击 确定 来运行流水线。
-
成功开始运行后,页面会自动切换到流水线详情页面,点击当前运行的流水线记录。
-
进入流水线记录详情页面后,您可以查看到当前流水线运行的过程,需要 admin 或者平台管理员来为流水线进行审核,审核成功后,资源会部署至集群。
验证集群资源¶
-
如果流水线的每个阶段都成功运行,则会自动构建一个 Docker 镜像并推送至您的 Docker Hub 仓库。 最终,流水线将在您事先设置的项目中自动创建一个无状态负载。
-
前往容器管理平台,点击集群下的 工作负载 ,您可以看到列表中显示的无状态工作负载。
通过 Jenkinsfile 编辑流水线¶
通过 Jenkinsfile 可以快速定义流水线的各个阶段。
-
在流水线列表页面找到需要新建的流水线,在右侧点击 编辑 Jenkinsfile 。
也可以点击流水线名称后,在页面右上角点击 编辑 Jenkinsfile 。
-
输入或粘贴事先准备好的 Jenkinsfile,然后点击 确定 即可。