步骤设置
在CI/CD项目的流水线中增加步骤后,需要设置步骤的参数。平台支持的步骤及步骤中所需的参数设置如下:
通用步骤
Shell脚本
执行Shell脚本。直接在输入框中输入命令行即可。
SSH代理
SSH授权凭证运行SSH命令。在使用SSH代理之前,需要先准备好SSH私钥,供此处使用。
输入SSH私钥,并在输入框中输入SSH命令即可。
远程命令
通过SSH登录到远程终端执行命令。在执行远程命令时,需要先准备好SSH私钥。所需设置的参数如表 1 所示。
表 1 远程命令参数说明
参数 设置说明 设置示例 SSH私钥 远程登录终端所需的授权凭证 - 节点IP 所需登录的远程终端的IP地址。 - SSH端口 SSH端口号,默认值为22,如果为其他值,请单击“自定义SSH端口并填写端口号”。 22 用户名 登录远程终端所使用的用户名。 - 命令 执行的命令。 - 远程拷贝
通过SCP命令拷贝远程文件,可将远程主机上的文件拷贝至当前工作空间,也可将当前工作空间的文件拷贝至远程主机。在远程拷贝时,需要先准备好SSH私钥。所需设置的参数如表 2 所示。
表 2 远程拷贝参数说明
参数 设置说明 设置示例 SSH私钥 远程登录终端所需的授权凭证。 - 拷贝方向 选择拷贝方向。
可选择为“由远端向当前工作空间拷贝”或者“由当前工作空间向远端拷贝”。- 节点IP 远程终端的IP地址。 - SSH端口 SSH端口号,默认值为22,如果为其他值,请单击“自定义SSH端口并填写端口号”。 22 用户名 登录远程终端所使用的用户名。 - 远端路径 远端文件的路径。 - 本地路径 本地文件的路径。 - Git
从指定的Git代码仓库拉取代码,从Git仓库拉取代码时需要先创建授权凭证。在CI/CD项目的流水线中设置 Git步骤与在创建CI/CD项目时,设置了代码关联并选择“Git”类型的代码仓库的效果一致。参数说明如表 3 所示。
表 3 Git参数设置说明
参数 设置说明 设置示例 仓库地址 Git类型的代码仓库地址。 - 仓库分支 检出的代码分支。 master 授权类型 可以根据用户名密码和SSH私钥两种方式进行认证。 - 检出路径 检出代码的存放路径,默认为当前工作空间。 - SVN
从指定的SVN代码仓库拉取代码,从SVN仓库拉取代码时需要先创建授权凭证。在CI/CD项目的流水线中设置 SVN步骤与在创建CI/CD项目时,设置了代码关联并选择“SVN”类型的代码仓库的效果一致。参数说明如表 4 所示。
表 4 SVN参数设置说明
参数 设置说明 设置示例 仓库地址 SVN类型的代码仓库地址。 - 仓库文件夹 检出的代码所在的分支文件夹。 master 授权类型 可以根据用户名密码和SSH私钥两种方式进行认证。 - 检出路径 检出代码的存放路径,默认为当前工作空间。 - 打印信息
打印指定的输出信息。在“信息内容”输入框中输入需要打印的信息即可。
归档成品
归档流水线运行的产物。参数说明如表 5所示。
表 5 归档成品参数说明
参数 设置说明 设置示例 成品路径 成品的归档路径。 - 忽略空成品 空成品是否影响构建结果。
- 开启:空成品不影响构建结构。
- 关闭:空成品会导致构建失败。
- 默认为关闭。关闭 大小写敏感 归档文件的文件名大小写是否敏感,默认为大小写不敏感。 - 默认排除 是否排除**.git,**.svn文件。 - 排除成品路径 归档时,排除某路径下的内容。可使用通配符,如“target/*”。 - 仅构建成功时归档 是否只在构建成功时归档成品。
- 开启:只有构建结果为成功时归档。
- 关闭:无论构建结果为成功或者失败均归档。
- 默认为关闭。- 上传至软件包 可新建软件包,也可选择已有软件包,指定版本即可。 - 如果CI/CD任务中包含归档成品的步骤,则流水线构建成功后,可在流水线详情的“最新构建产出物”页签下载流水线构建结果。
确认通知
在流水线的某个阶段,可通知用户审核或者确认流水线的执行状态。
表 6 确认通知参数说明
参数 设置说明 设置示例 通知内容 流水线执行到该步骤时,邮件通知用户的的内容。 - 通知组 通知用户设置,可设置为该项目中已经设置的通知组。 - 参数定义 在流水线中增加参数。在此处增加参数后,在通知用户确认通知时,可填写该参数的值,并且参数可供后续步骤使用。 确认人 SonarQube代码检查
与SonarQube代码检查工具对接,检查并保证代码质量。添加该步骤时,请先搭建SonarQube服务环境,并保证与管理平台节点之间的网络互通。
表 7 SonarQube代码检查参数说明
参数 设置说明 设置示例 SonarQube服务地址 SonarQube服务地址。 - SonarQube访问令牌 SonarQube的访问令牌,用与和管理平台的对接认证。 - Quality Gate不达标时停止流水线 开启该项后,当Quality Gate不达标时流水线停止执行,默认不开启。 - 配置方式 Quality Gate的配置方式,可设置为如下值:
-简易配置,即采用默认配置。
- 配置文件路径:采用自定义配置,需要填写配置文件的路径。
- 配置文件内容:采用自定义配置,需要输入配置文件的内容。简易配置 SonarQube项目名称 用于代码检查的SonarQube项目名称。 - 代码路径 SonarQube项目中检查代码的路径。 -
自定义步骤
自定义步骤在项目设置--CI/CD自定义步骤内新建完成。
新建成功后,可在CI/CD的自定义步骤显示。
Maven
Maven构建
通过Maven命令构建一个Maven项目。在“命令”输入框中输入Meven构建相关相关令即可。
Maven测试
运行Maven测试。在“命令”输入框中输入Maven测试相关命令即可。
go
Go构建
通过Go命令构建一个Go项目。在“命令”输入框中输入Go构建相关令即可。
Go测试
运行Go测试。在“命令”输入框中输入Go测试相关命令即可。
Python
Python测试
运行Python测试。在“命令”输入框中输入Python测试相关命令即可。
Node.js
Node.js测试
运行Node.js测试。在“命令”输入框中输入Node.js测试相关命令即可。
Docker
Docker Build
根据Dockerfile构建Docker镜像。参数说明如表 6所示。
表 8 Docker Build 参数
参数 设置说明 设置示例 镜像仓库 构建docker镜像所使用的基础镜像所在的镜像仓库。
- 如果为管理平台中的镜像或者Docker Hub镜像仓库中的镜像,直接填写镜像名称即可。
- 如果为公有镜像仓库或者其他第三方镜像仓库中的镜像,请填写完整镜像路径。wordpress 镜像标签 构建docker镜像所使用的基础镜像的镜像标签。
- 可使用全局环境变量中定义的参数值。latest 构建上下文路径 如果代码仓库较大,并且构建docker镜像所使用的部分代码通过文件夹组织,可填写构建上下文路径,以避免加载不必要的文件,提高构建效率。默认值为全路径。
- 如果为代码仓库的全路径,则填写为“.”。
- 如果为其他值,请填写为构建docker镜像所需代码的路径。. Dockerfile来源 构建镜像所示用的Dockerfile,可设置为Dockerfile内容或者Dockerfile路径:
- Dockerfile内容:直接输入Dockerfile内容。
- Dockerfile路径:如果Dockerfile文件已编写完成并放至代码仓库中,则只需要填写路径即可。
- 如果构建docker镜像无关代码仓库,请保持默认值即可。Dockerfile内容 Docker Push
将docker镜像上传至指定的镜像仓库。默认上传至系统镜像仓库中,也可上传至其他镜像仓库中。参数说明如表 7所示。
表 9 Docker Push 参数
参数 设置说明 设置示例 镜像仓库 需要Push的镜像。
Docker Push一般与Docker Build结合使用,请选择该流水线中此阶段之前所构建的镜像。wordpress 镜像标签 需要Push的镜像的镜像标签。
请选择该流水线中此阶段之前所构建的镜像的镜像标签。latest 镜像仓库类型 默认的Push地址为上传到当前项目下的同名镜像仓库,可选指定镜像仓库和外部镜像仓库。外部镜像仓库需要指定仓库定制以及认证使用的用户名和密码 - 镜像扫描
扫描该流水线中,系统镜像仓库中的镜像的安全漏洞。
表 12 镜像扫描参数说明
设置项 设置说明 设置示例 镜像名称 选择需要扫描的并且已经在流水线中构建的镜像名称。 - 镜像标签 需要扫描的镜像的标签。 - 条件 设置什么条件下扫描成功。 - 扫描结果处理 可设置为如下值:
- 扫描失败则流水线失败。
- 将成功/失败的次数记录在环境变量中。-
Kubernetes
Kube Apply
创建或者更新Kubernetes部署。参数说明如表 8所示。
表 10 Kube Apply 参数说明
参数 设置说明 设置示例 集群 Kubernetes部署所在的集群,通过下拉框选择,可选择分配给该项目的Kubernetes集群。 - 设置工作负载 选择创建工作负载的方式,可通过YAML文件方式或者指定部署镜像:
- 填写YAML文件内容:在输入框中填写YAML文件内容即可。为避免YAML文件格式导致CI/CD项目构建错误,建议先通过YAML语法检查工具检查YAML文件的语法。当YAML文件相对比较简单和固定时,可选用该方式。
- 指定YAML文件路径:可编写YAML文件并放至代码仓库,选用该方式并填写YAML文件路径。
- 指定部署镜像:可通过界面指定工作负载名称及使用的镜像来部署工作负载。选用该方式时,需要设置“部署名称”、“镜像仓库名称”和“镜像标签”。- 部署名称 部署或者更新的工作负载名称。设置工作负载方式为“指定部署镜像”时需要设置。 - 镜像仓库名称 设置工作负载方式为“指定部署镜像”时需要设置部署工作负载所使用的镜像仓库名称和标签。通过下拉框选择。 - 镜像标签 镜像tag版本号 - Kube Update
更新Kubernetes部署所使用的镜像。参数说明如表 9 所示。
表 11 Kube Update参数说明
参数 设置说明 设置示例 集群 Kubernetes部署所在的集群,通过下拉框选择。 - 部署名称 需要更新镜像的的工作负载名称,通过下拉框选择。 my-deployment 容器名称 选择容器名称,通过下拉框选择。 - 镜像仓库名称 更新工作负载所使用的镜像仓库名称和标签。通过下拉框选择。 - 镜像标签 镜像tag版本号 -
创建/更新应用
创建或者更新流水线中的Kubernetes应用。
表 13 创建/更新应用参数说明
设置项 设置说明 设置示例 集群 应用所在的集群。 - 创建/更新应用 设置创建或者更新应用。 - 应用名称 如果选择创建应用,请填写应用名称。
如果选择更新应用,请选择更新的应用名称。- 镜像名称 更新镜像所使用的镜像名称。 - 镜像标签 更新应用所使用的镜像标签。 - 端口 设置应用的容器端口和服务端口。 - 模板创建/更新应用
表 14 创建/更新应用参数说明
设置项 设置说明 设置示例 集群 应用所在的集群。 - 应用名称 如果选择创建应用,请填写应用名称。
如果选择更新应用,请选择更新的应用名称。- 应用模板 内建模板和自定义模板。 - 模板版本 所选模板的具体版本。 -