标准环境变量
所有正在执行的管道都可以使用这些环境变量。
环境变量 | 描述 |
---|---|
|
的的名字 当前执行的管道的字符串。 |
run_number |
当前正在执行的运行的编号。 |
|
运行的内部唯一ID。 |
|
的 |
|
当前执行步骤的内部唯一ID。 |
|
的 |
|
用于运行该步骤的Docker映像的名称(例如。pipelines-docker.jfrog.io / jfrog / pipelines-u16node). |
|
用于运行该步骤的Docker映像的标签。 |
|
用于运行step的节点名称(添加节点时用户配置) |
|
节点架构,例如x86_64 |
|
节点的内部唯一ID |
step_node_pool_name |
执行该步骤的节点池名称(创建池时用户配置)。 |
project_name |
项目名称 |
project_id |
项目在JFrog Pipelines中的ID |
project_key |
项目的关键。如果项目是默认项目,则该参数为空。 |
|
直接链接到步骤 |
|
API的URL |
|
onStart / onExecute onComplete等等 |
|
step所在的操作系统,例如Ubuntu_16.04 |
|
一样 |
|
用于在步骤执行期间调用管道API的令牌。内部使用,但用户可以访问。 |
|
如果由资源触发,则 |
|
如果由另一个步骤触发,则步骤的名称。其他的空 |
|
如果由用户触发,则用户名。其他的空 |
|
亲和组step所属。默认值与步骤名相同。 |
step_ <inputStepName> _statusName |
这个环境变量在运行时自动可用,可以在任何步骤中使用。 |
|
如果step在容器中运行,则为。如果在主机上运行,则为False。 |
|
设置为“image”或“host” |
JFROG_CLI_BUILD_NAME |
如果没有在YML中设置为变量或添加为管道、运行或步骤变量,它将被设置为$pipeline_name。这在积累构建信息时使用。 |
JFROG_CLI_BUILD_NUMBER |
如果没有在YML中设置为变量或添加为管道、运行或步骤变量,则它将被设置为$run_number。这在积累构建信息时使用。 |
JFROG_CLI_BUILD_PROJECT |
如果没有在YML中设置为变量或添加为管道、运行或步骤变量,则它将被设置为$project_key。这在积累或发布构建信息时使用。 |
|
当前执行的运行时环境中的PATH值。 |
用户自定义环境变量
中定义的自定义环境变量的配置
部分的管道YAML文件。
管道
在管道中,环境变量可以在配置
部分。这里声明的环境变量对管道中的所有步骤都可用。
管线:—name: my_pipeline configuration: environmentVariables: readOnly: env1: value1 env2: value2
步骤
在步骤中,环境变量可以在配置
管道中步骤的部分。来自此源的环境变量仅在声明它们的步骤可用。
步骤:—name: step_1 type: Bash configuration: environmentVariables: env1: value1 env2: value2
YAML模式参考
在声明环境变量时,重要的是要遵循YAML语法约定,并正确地引用和转义值,以确保pipeline能够正确地解析它们。
一般来说,YAML字符串是Unicode,可以不加引号。然而,在使用特殊字符时需要遵守一定的规则。引号必须用于以下字符串:
- 以特殊字符开头,例如:
:, {, }, [, ], ,, &, *, #, ?, |, -, <, >, =, !, %, @, )
- 以空白字符开始或结束
- 看起来像一个数字或布尔(
123
,1.23
,真正的
,假
,零
)
例子
单引号
例子 | 结果 | 评论 |
---|---|---|
|
|
|
'此字符串'使用双引号' |
这个字符串"使用双引号" |
|
'&此字符串以特殊字符开头,需要引号' | '&以特殊字符开头,需要引号' |
双引号
例子 | 结果 | 评论 |
---|---|---|
|
|
双引号支持任何字符串和转义序列。 例如: |
|
|
多行字符串
多行字符串可以使用以下方法写入:
- 折叠方式:由大于号(>)表示,其中每个换行符都转换为空格。
- 文字样式:由管道(|)表示,以保留换行符。
折叠式(>)
例子 | 结果 | 评论 |
---|---|---|
|
|
折叠样式删除行尾字符,并用单行替换双行尾。这对于描述很有用。
|
|
你好世界 |
文字样式(|)
例子 | 结果 | 评论 |
---|---|---|
|
|
文字样式保留行尾字符。这在定义脚本操作时非常有用。
|
|
|
转义序列
YAML使用转义序列如下:
\ n
用来表示新的行吗\ t
用来表示制表符\ \
用来表示斜线- Bash的风格
“\”
用于转义作为内容一部分且不应折叠的附加空格 - 后面的\用于表示一个延续标记。这对于将一个长字符串分解为多行而不引入不必要的空格非常有用
例子 | 结果 | 评论 |
---|---|---|
|
|
特殊字符必须用反斜杠转义。 |
|
|
反扁虱必须逃脱,因为它们是特殊处理的外壳。 |
|
|
|
|
|
在这个例子中:
|
环境变量配置
除了键-值语法,还可以在环境变量定义下使用以下属性来增强其配置:
财产 | 描述 | 必需的/可选 |
---|---|---|
默认的 |
环境变量的默认值。 | 要求 |
描述 |
描述环境变量的使用情况。页面中显示自定义运行配置面板. | 可选 |
值 |
时可赋给环境变量的值列表用户界面使用自定义运行配置. | 可选 |
allowCustom |
确定是否允许用户使用不属于列表的自定义值值 .默认值为假 . |
可选 |
以下属性可用于在两者中声明的环境变量管道而且步骤配置
部分。
管路:—name: my_pipeline配置:environmentVariables: readOnly: env1: value1 env2: default: value1 description: env2描述取值:—value1—value2—value3 steps:—name: my_step type: Bash配置:environmentVariables: step_env1: default: value1 description: stepenv1描述取值:—value1—value2—value3 allowCustom: true step_env2: value2
当你使用自定义配置触发运行时,UI使用YAML文件中的配置来控制用户的输入使用自定义配置运行面板:
如果allowCustom
设置为真正的
,您可以为该字段输入任何值为跑步定义自己的价值。在上面的示例中,您可以为输入一个自定义值step_env2,除了已经定义的值之外。注意,自定义值仅对特定的运行可用。
集成
使用集成的步骤可以通过环境变量访问集成的属性。环境变量的形式为:
int_ <集成名称> _ <标记>
类的URL属性Artifactory集成命名myArtifactory
通过一个环境变量:
$ printenv int_myArtifactory_url https://mycompany.com/artifactory/
您还可以通过使用集成的资源访问集成的属性。环境变量的形式为:
Res_
例如,图像资源中指定Artifactory集成注册表
标签。您可以访问Image资源所使用的Artifactory集成的URL模板
如下:
$ printenv res_myImage_registry_url https://mycompany.com/artifactory/
有关更多信息,请参见管道集成.
2022世界杯阿根廷预选赛赛程
中指定资源的步骤input2022世界杯阿根廷预选赛赛程resources
可以通过环境变量访问该资源的属性。环境变量的形式为:
res_ <资源名称> _ <标记>
例如,您可以访问imageName
的属性图像资源模板
通过一个环境变量:
$ printenv res_myImage_imageName jfrog.local:5000/alpine37
有些资源维2022世界杯阿根廷预选赛赛程护可以作为环境变量访问的附加属性。这些资源类型包括:
有关更多信息,请参阅管道资源2022世界杯阿根廷预选赛赛程.
基于资源的状态
中指定的资源中还可以添加自己的属性output2022世界杯阿根廷预选赛赛程resources
使用write_output
效用函数.这可以用来创建有状态的管道.
新附加的属性可以作为表单的环境变量访问res_{资源名}_{密钥名}
.例如,下面的代码在资源中创建三个属性模板
.
write_output myImage sport="baseball" equipment="bat" field="diamond"
当在步骤中指定资源时inputsource
,这些属性可以作为以下环境变量访问:
$ printenv res_myImage_baseball棒球$ printenv res_myImage_equipment bat $ printenv res_myImage_field钻石
有关运行状态的详细信息,请参见创建有状态管道.
运行状态
管道可以定义自己的环境变量,并将它们添加到管道的运行状态。这些将对管道运行中的所有步骤可用。
使用运行状态管理的实用函数向当前运行状态添加新的环境变量。例如,步骤执行块中的以下行:
英雄="超人"反派="莱克斯·卢瑟"
将创建两个环境变量,用于管道运行的当前和未来所有步骤:
$ printenv英雄超人$ printenv恶棍莱克斯卢瑟
有关运行状态的详细信息,请参见创建有状态管道.
管道状态
您的管道可以定义自己的环境变量,并将它们添加到管道状态。这些将可用于该管道的所有运行。
使用用于管道状态管理的实用函数向当前运行状态添加新的环境变量。例如,步骤执行块中的以下行:
Add_pipeline_variables动物="狗"蔬菜="胡萝卜"
将创建两个环境变量,用于定义它们的管道的所有运行:
$ printenv动物狗$ printenv蔬菜胡萝卜
有关管道状态的详细信息,请参见创建有状态管道.