1. 简介

作业可以使用变量,在作业或者分组作业启动的时候需要填写空白的变量。

任务启动过程中显示的变量顺序是根据变量描述进行排序的,如果要调整变量的顺序可以通过修改描述来解决。

2. 变量的作用范围

2.1. 脚本步骤

  • 服务器列表,一般情况下使用的是$ip。

  • 脚本参数。

2.2. 分发文件

  • 源文件来自构建, 流水线id和版本$version。

  • 源文件,ip列表和源文件路径,可以写成如:/tmp/abc/$foo/a.txt。

  • 目标文件,ip和目标路径,同上。

3. 特殊变量

3.1. ip

ip变量用来做机器列表传递,在任务启动的时候如果有ip变量,说明是一个需要ip变量的任务。

这时候可能存在一个情况,ip变量是想获取机器分批中的机器列表。

这里可以通过ip变量的描述的内容进行控制,有四种情况

情况一: 备注内容为 "group"
在任务启动时候,会显示机器分批列表,用户选择机器列表来决定ip的值,会启动分组任务。

情况二: 备注内容为 "group:分批组名", 如"group:abc"
任务启动时,不会显示ip字段,ip需要的信息已经选定了机器分批“abc”。会启动分组任务。

情况三:备注内容为"group:val=ip1,ip2",如 "group:val=10.10.10.1,10.10.10.2"
任务启动时,不会显示ip字段,ip内容值为val=指定的部分,会启动分组任务。

情况四,如果备注内容不是以上三种情况则为第四总情况
启动任务时,会显示ip字段,用户手动填写ip列表,多个ip用逗号分隔。会启动作业任务。

3.2. _rollbackVersion_

分组作业执行过程中,如果是需要进行回滚的任务,把回滚的版本写到变量_rollbackVersion_中。

在触发回滚时,分组作业会把_rollbackVersion_中的任务替换成version变量启动回滚作业。

_rollbackVersion_变量为分组作业使用的特殊变量,所以在该变量有值的情况下提交任务,

会把这个变量提交给分组作业接口。

3.3. _exit_

一般情况下作业步骤中遇到错误的时候,作业会卡住然后发送通知给运维或者研发确认后手动重试。

但是在某些情况下可能需要任务遇到失败后直接退出。比如测试环境的发布。

_exit_可以为如下情况:

  • _exit_等于1或者true。作业遇到“执行命令”或者“同步文件”失败时任务直接退出。

  • _exit_等于cmd,作业任务遇到“执行命令”步骤失败时直接退出。

  • _exit_等于scp,作业任务遇到“同步文件”步骤失败时直接退出。

3.4. _appname_

用于标记作业对应的应用名称,在业务管理中变量查看可以看到对应的变量。

_appname_为abc时,变量查看中看到的变量为APP_abc_VERSION。

如果不设置_appname_变量,在变量查看中看到的变量是VERSION。

一个服务树节点如果不定义该变量,多个应用的版本会混合在一起无法区分。

3.5. _skipSameVersion_

_skipSameVersion_变量是在任务执行过程中,如果该分组要跑的任务的版本和它当前的版本一致,

则会跳过该任务,任务会直接退出成功返回。

需要结合_appname_变量一起使用。

3.6. _authorization_

直接触发作业需要的权限是openc3_job_write,默认情况下运维角色才有这个权限点。

研发有openc3_job_control的权限点,该权限点可以控制作业的重试等功能。

如果作业中添加了_authorization_ 等于“true”的变量,

那么在作业或者分组作业启动过程只验证openc3_job_control权限点。也就是授权给研发触发该作业。

3.7. _pip_

流水线的作业中如果添加了该变量,流水线发布时可以指定发布的主机列表。

在轻应用的时候也可以使用,设置一个变量pip等于1,就会在ip选项下面多出来一个“选择服务器”的按钮。

Copyright 2020 - 2020. all right reserved,powered by Gitbook该文件修订时间: 2024-12-19 21:38:05

results matching ""

    No results matching ""