# 图形化任务模板参数说明
以下为图形化流水线任务模板参数说明。
## Git Clone
| 参数 | 说明 |
| -------- | -------------------------------------------------------- |
| 代码仓库 | 填写远程代码仓库的地址 |
| 分支 | 填写想要基于哪个分支的代码构建流水线,默认为 __master__ |
| 凭证 | 对于私有仓库,需要提前[创建凭证](../credential.md)并在使用时选择对应的凭证 |
## Shell
如果要执行 shell 命令,请选择此模板,支持多行。
## 打印消息
如果要在终端输出一些消息,请选择此模板。
## 保存制品
| 参数 | 说明 |
| -------------- | ------------------------------------------------------------ |
| 用于归档的文件 | 使用正则表达式规定期望将文件存储在什么路径下,例如: __module/dist/*/.zip__ ,多个文件请用英文逗号隔开。 |
## 审核
如果添加此步骤,流水线运行至任务将会暂停,创建人和被 @ 的人可以选择继续或终止。
| 参数 | 说明 |
| ---- | ------------------------------------------------------------ |
| 消息 | 流水线运行状态中将会展示此消息,支持在输入 @ + 用户的方式来选择可审核的人。 |
## 通知
在流水线执行过程中使用通知步骤,可以实现发送邮件至指定人员。需要确保已经在 __全局管理__ 配置了邮件服务器,并且当前 Jenkins 可以访问到。
| 类型 | 说明 |
| ------------ | ------------------------------------------------------------ |
| 收件人地址 | 收件人地址,多个邮箱地址通过逗号或者空格进行区分 |
| 主题 | 邮件的标题 |
| 内容 | 邮件内容 |
## 使用凭证
使用凭证组件在图形化编辑中是一个较为特殊的步骤,如果选择开启后,该阶段定义的所有步骤都将会被嵌套在使用凭证步骤中。
| 类型 | 说明 |
| ------------ | ------------------------------------------------------------ |
| 用户名和密码 | 需要填写以下参数:
__用户名变量__ :在流水线构建期间用户名的环境变量的名称。
__密码变量__ :在流水线构建期间密码的环境变量的名称。 |
| 访问令牌 | 需要填写以下参数:
__文本变量__ :在流水线构建期间文本的环境变量的名称。 |
| kubeconfig | 需要填写以下参数:
__kubeconfig 变量__ :在流水线构建期间 kubeconfig 环境变量的名称。 |
## 超时
当前任务的执行时间若超过超时时间,则会中止任务,流水线状态变为 __失败__ 。
| 参数 | 说明 |
| ---- | -------------------------------------- |
| 时间 | 设置超时的时间。 |
| 单位 | 设置时间单位,支持秒、分钟、小时、天 |
## SVN
| 参数 | 说明 |
| --- | --- |
| 代码仓库 | 填写远程的 svn 的地址,例如 `http://svn.apache.org/repos/asf/ant/` |
| 凭证 | 对于私有仓库,需要提前[创建凭证](../credential.md)并在使用时选择对应的凭证 |
## 收集测试报告
收集 JUnit 的测试报告,必须为 __xml__ 格式,支持填写多个地址,用逗号隔开。
| 参数 | 说明 |
| --- | --- |
| 测试报告 | 指定生成的 xml 报告文件的位置,例如 myproject/target/test-reports/*.xml |
## SonarQube 配置
如果您需要使用 SonarQube 来对代码仓库中的代码进行扫描,请选择当前步骤,使用之前请确保您已经集成 SonaQube 实例并绑定到当前工作空间。
| 参数 | 说明 |
| -------------- | ------------------------------------------------------------ |
| SonarQube 实例 | 下来选项中选择当前工作空间绑定的 SonaQube 实例 |
| 代码语言 | 由于不同代码语言对应的 SonaQube 的扫描命令不同,如果 java 语言,请选择 __maven__ ,其他语言则选择 __其他__ |
| 项目 | 本次扫描在 SonaQube 中对应的项目名称 |
| 扫描文件 | 需要扫描代码仓库中文件目录地址 |
## 代码质量门禁
此步骤需要配合 __SonarQube 配置__ 步骤一起使用,定义该步骤后会暂停流水线执行,等待 SonarQube 代码扫描分析完成后返回质量门禁状态,来判断是否终止运行当前流水线。
另外实际使用过程中,需要定义 __超时__ 步骤共同使用,以等待 SonarQube 代码扫描的返回结果,如下:
```bash
steps {
timeout(time: 1, unit: 'HOURS') {
waitForQualityGate abortPipeline: true
}
}
```
| 参数 | 说明 |
| -------------------------- | ------------------------------------------------------------ |
| 等待检查结果是否暂停流水线 | 支持 true/fasle 两个选项,如果设置为true,当 SonarQube 代码扫描分析完成后返回质量门襟状态为不健康时,将会终止流水线 |
## 更新应用
新版本支持了对当前租户下的工作负载的镜像进行更新。
| 参数 | 说明 |
| -------------- | ------------------------------------------------------------ |
| 集群 | 选择需要更新应用所在的集群 |
| 命名空间 | 选择需要更新应用所在的命名空间 |
| 集群凭证 | 需要事先创建后 kubeconfig 类型的凭证用于连接集群 |
| 工作负载类型 | 支持 Deployment、StatefulSet 、DaemonSet |
| 工作负载名称 | 选择需要更新的工作负载 |
| 容器名称 | 选择当前负载下的容器信息 |
| 镜像地址 | 选择或输入镜像地址 |
## 部署应用
新版本支持了应用的部署,前提条件是需要准备一个 git 仓库,并且仓库中包含了应用的清单文件。该步骤需要与 `Git Clone` 组合进行使用。
| 参数 | 说明 |
| -------------- | ------------------------------------------------------------ |
| 集群 | 选择需要更新应用所在的集群 |
| 命名空间 | 选择需要更新应用所在的命名空间 |
| 集群凭证 | 需要事先创建后 kubeconfig 类型的凭证用于连接集群 |
| 清单文件路径 | 应用的清单文件所在代码仓库的绝对路径 |