云客户?
免费开始>
在MyJFrog >中升级
云有什么新>





效用函数是内置的shell函数,可以在步骤中使用它们与运行时环境交互。


大多数实用程序函数在Bash (Linux)和Powershell (Windows)操作系统运行时中都可用。

bump_semver

描述

增加所提供的semver版本在给定的动作下。

使用

Bump_semver  
  • semver字符串semver版本是否要增加
  • 行动是否应用增量的类型

有效的操作是:

  • major:主版本号递增。次要版本和补丁版本被重置为0。
  • minor:增加次要版本。补丁版本被重置为0。
  • patch:增加补丁版本号。
  • alpha:增加或增加anα预发布标签。例如,v1.1.1就变成了v1.1.1-alpha而且v1.1.1-alpha就变成了v1.1.1-alpha.1.任何其他预发布标签将被删除。
  • beta:增加或增加aβ预发布标签。例如,v1.1.1就变成了v1.1.1-beta而且v1.1.1-beta就变成了v1.1.1-beta.1.任何其他预发布标签将被删除。
  • rc:增加或添加an钢筋混凝土预发布标签。例如,v1.1.1就变成了v1.1.1-rc而且v1.1.1-rc就变成了v1.1.1-rc.1.任何其他预发布标签将被删除。
  • final:删除任何预发布标签,留下major.minor.patch
例子

Ubuntu:~$ bump_semver v1.0.0 major
v2.0.0

Ubuntu:~$ bump_semver v1.0.0 minor
v1.1.0

Ubuntu:~$ bump_semver v1.0.0补丁
v1.0.1

Ubuntu:~$ bump_semver v1.0.0 rc
v1.0.0-rc

Ubuntu:~$ bump_semver v1.0.0-rc
v1.0.0-rc.1

Ubuntu:~$ bump_semver v1.0.0 alpha
v1.0.0-alpha

Ubuntu:~$ bump_semver v1.0.0 beta
v1.0.0-beta

Ubuntu:~$ bump_semver v1.0.0-rc。最后12
v1.0.0

Ubuntu:~$ bump_semver v1。钢筋混凝土
错误:参数中给出的语义版本无效。

Ubuntu:~$ bump_semver v1.0.0 badaction
错误:参数中给出的动作无效。

replace_envs

描述

将文件中的变量替换为基于当前shell的值env.例如,这对于从模板创建配置文件非常有用。

如果文件包含环境中未定义的占位符,则它们将成为空字符串(" ")。原始文件将被修改后的文件覆盖。

使用

replace_envs   

你的文件在格式中有占位符ENVIRONMENT_VARIABLE_NAME美元$ {ENVIRONMENT_VARIABLE_NAME}

例子

replace_envs属性。json部署。json run.json

retry_command

描述

如果任何命令返回非零错误代码,则执行该命令最多三次。例如,当您需要执行一个可能由于网络故障而不稳定的命令时,这是非常有用的。

使用

Bash retry_command< shell命令>
PowerShell
retry_command< shell命令>
  • shell命令该命令是否需要重试
Bash的例子

retry_commanddocker push mydirectory/myImage

PowerShell的例子

retry_commanddocker push mydirectory/myImage

页面内容

get_uuid

描述

将uuid放入stdout。使用/proc/sys/kernel/random/uuid如有可退而回uuidgen如果不是。函数调用出口1如果这两个都不可用。

使用

Bash get_uuid
Bash的例子

my_uuid = $ (get_uuid)

save_artifact_info

描述

保存关于工件的元数据。保存后,此元数据用于为工件启用有签名的管道。

使用

Bash Save_artifact_info <工件类型> <文件路径>[——build-name <构建名称>——build-number <构建编号>——project-key <项目密钥>]
PowerShell Save_artifact_info <文件路径> [-build-name -build-number -release-bundle-name -release-bundle-version -project-key ]


  • 工件类型:这是工件的类型。要么文件buildInfo,或releaseBundle
  • 文件路径:这要保存的元数据文件的路径。
Bash Powershell

描述

——打造了品牌 打造了品牌

这是构建的名称。当工件类型为时必需buildInfo

——版本号 版本号

这是构建的编号。当工件类型为时必需buildInfo

——release-bundle-name -release-bundle-name

这是发布包的名称。当工件类型为时必需releaseBundle

——release-bundle-version -release-bundle-version

这是发布包的版本。当工件类型为时必需releaseBundle

--项目重点 -项目重点 (可选)默认为环境的project_key.可以指定为另一个项目保存信息。
buildInfo的Bash示例

save_artifact_info 'buildInfo' './myBuildDetailedSummary。——build-name myBuild——build-number 42

文件的Bash示例

save_artifact_info 'file' './myFileDetailedSummary.json'

buildInfo的PowerShell示例

save_artifact_info buildInfo myBuildDetailedSummary。myBuild -build-number 42

PowerShell文件示例

保存文件myFileDetailedSummary.json

releaseBundle的PowerShell示例

save_artifact_info releaseBundle myFileDetailedSummary。myBundle . json -release-bundle-name

validate_artifact

描述

验证工件的签名。要求启用有签名的管道。

使用

Bash Validate_artifact <构件类型> <文件路径>[——build-name <构建名称>——build-number <构建编号>——project-key <项目密钥>]
PowerShell Validate_artifact <构件类型> <文件路径> [-build-name <构建名称> -build-number <构建编号> -project-key <项目密钥>]


  • 工件类型:这是工件的类型。支持buildinfo
  • 文件路径:这要验证的元数据文件的路径。
Bash Powershell 描述
——打造了品牌 打造了品牌

这是构建的名称。当工件类型为时必需buildInfo

——版本号 版本号

这是构建的编号。当工件类型为时必需buildInfo。

--项目重点 -项目重点 (可选)默认为环境的project_key.可指定用于验证不同项目的信息。
buildInfo的Bash示例

./myBuildDetailedSummary. validate_artifact 'buildInfo' './myBuildDetailedSummary. '——build-name myBuild——build-number 42

buildInfo的PowerShell示例

validate_artifact buildInfo myBuildDetailedSummary。myBuild -build-number 42

configure_jfrog_cli

描述

配置JFrog CLI(版本1或2指定为jfrogCliVersion管道配置),为不同的次要版本处理不同的格式。该步骤的集成部分中列出的构件集成将被自动配置,但是如果以另一种方式向该步骤提供凭据,这可能对资源有用。2022世界杯阿根廷预选赛赛程使用v2时,还可以使用环境变量JFROG_XRAY_URL指定非默认的x射线URL。

使用

Bash

configure_jfrog_cli——artifactory-url [——xray-url ——user user——apikey ——access-token ——server-name ]

PowerShell

configure_jfrog_cli-artifactory-url [-xray-url -user USER -apikey -access-token -server-name ]

  • artifactory-url:必须的。Artifactory URL。
  • xray-url:可选的。x射线URL。仅限CLI v2配套使用。
  • 用户:用户。当提供API密钥时需要。
  • apikey: API密钥。需要——user,不能与——access-token一起使用。
  • 访问令牌: Access令牌。不能与——access-token或——user一起使用。
  • 服务器名称:默认为默认的.可以指定该名称来配置CLI。


Bash的例子

configure_jfrog_cli——artifactory-urlhttps://my-artifactory.local/artifactory——user me——apikey AKCp8jQTdMTFdbkX14MJ8whtyV5Su5eawFhi2granysttMuyRPRA9FgxpfKzi1vFwDJXqYw9R——server-name myAPIKeyArtifactory

configure_jfrog_cli——artifactory-urlhttps://my-artifactory.local/artifactory——访问令牌eyJ2ZXIiOiIyIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJraWQiOiJTMmVLcmRLdElWR2JnSTJWbVM2T0NQRDFHYW1ZbVpwSXYtWS1meFN6TFJJIn0.eyJzdWIiOiJqZmZlQDAwMFwvdXNlcnNcL2FkbWluIiwic2NwIjoiYXBwbGllZC1wZXJtaXNzaW9uc1wvYWRtaW4gYXBpOioiLCJhdWQiOiJqZnJ0QCoiLCJpc3MiOiJqZmZlQDAwMCIsImV4cCI6MTYzMDY0NTM1OCwiaWF0IjoxNjMwNjQxNzU4LCJqdGkiOiI5YzcyMjMxOC01ZjBmLTQ1MTEtYTY2Yi1lMzVhMDkyYmFlMWMifQ。yop6a2gmooc9nqcyroxgun_1zs7wt5yatyqus8ziruvvwetb5rp2tmlkm29hm7qp4hok_bppttfkku1unj8byrjl8mn63ng1gmors2eh2fvpzej3yyurdnd65273ac5qs4unxp_4dqaqhgb_xu0b2xzhajqlkbyywelickblc4osvphw2lj10wqhfqedofej0aknaz8wguo28l4gljr7upzqjao0vwarkc_u3jysgsm_saxh1z72avhaerhczm7tr5gdbrsfrcuahok66pelidaqxfxmsyzg——server-name myAccessTokenArtifactory

PowerShell的例子

configure_jfrog_cli -artifactory-urlhttps://my-artifactory.local/artifactory-user me -apikey AKCp8jQTdMTFdbkX14MJ8whtyV5Su5eawFhi2granysttMuyRPRA9FgxpfKzi1vFwDJXqYw9R -server-name myAPIKeyArtifactory

configure_jfrog_cli -artifactory-urlhttps://my-artifactory.local/artifactory访问令牌eyJ2ZXIiOiIyIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJraWQiOiJTMmVLcmRLdElWR2JnSTJWbVM2T0NQRDFHYW1ZbVpwSXYtWS1meFN6TFJJIn0.eyJzdWIiOiJqZmZlQDAwMFwvdXNlcnNcL2FkbWluIiwic2NwIjoiYXBwbGllZC1wZXJtaXNzaW9uc1wvYWRtaW4gYXBpOioiLCJhdWQiOiJqZnJ0QCoiLCJpc3MiOiJqZmZlQDAwMCIsImV4cCI6MTYzMDY0NTM1OCwiaWF0IjoxNjMwNjQxNzU4LCJqdGkiOiI5YzcyMjMxOC01ZjBmLTQ1MTEtYTY2Yi1lMzVhMDkyYmFlMWMifQ。yop6a2gmooc9nqcyroxgun_1zs7wt5yatyqus8ziruvkxxemzlo0gi5q6kxfniagvwetb5rp2tmlkm29hm7qp4hok_bppttfkku1unjj8mn63ng1gmors2eh2fvpzej3yyurdnd65273ac5qs4unxp_4dqaqhgb_xu0b2xzhajqlkbyywelickbljc4osvphw2lj10wqhfqedofej0aknaz8wguo28l4gljr7upzqjao0vwarkc_u3jysgsm_saxh1z72avhaerhczm7tr5gdbrsfrcuahok66pelidaqxfxmsyzg -name myAccessTokenArtifactory

check_xray_available

描述

使用JFrog CLI v2 (version 2指定为jfrogCliVersion管道配置),检查x射线是否可用于指定的CLI配置,如果没有指定,则检查默认配置。

使用

Bash

check_xray_available(——服务器名称<名称>)

PowerShell

check_xray_available【服务器名称<名称>)

  • 服务器名称:可选的。指定要检查的JFrog CLI配置。
Bash的例子

check_xray_available--服务器- name myArtifactoryIntegration

PowerShell的例子

check_xray_available--服务器- name myArtifactoryIntegration

cleanup_jfrog_cli

描述

删除JFrog CLI (v1)的配置,处理不同小版本的不同格式。在该步骤的集成部分中列出的构件集成将在该步骤结束时自动删除,但是这对于在早期或使用时删除凭据可能很有用configure_jfrog_cli

使用

Bash

cleanup_jfrog_cli(——服务器名称<名称>)

PowerShell

cleanup_jfrog_cli【服务器名称<名称>)

  • 服务器名称:默认为默认的.可以指定以删除该配置。


Bash的例子

cleanup_jfrog_cli——server-name myArtifactory

PowerShell的例子

configure_jfrog_cli -artifactory-urlhttps://my-artifactory.local/artifactory-user me -apikey AKCp8jQTdMTFdbkX14MJ8whtyV5Su5eawFhi2granysttMuyRPRA9FgxpfKzi1vFwDJXqYw9R -server-name myAPIKeyArtifactory

configure_jfrog_cli -artifactory-urlhttps://my-artifactory.local/artifactory访问令牌eyJ2ZXIiOiIyIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJraWQiOiJTMmVLcmRLdElWR2JnSTJWbVM2T0NQRDFHYW1ZbVpwSXYtWS1meFN6TFJJIn0.eyJzdWIiOiJqZmZlQDAwMFwvdXNlcnNcL2FkbWluIiwic2NwIjoiYXBwbGllZC1wZXJtaXNzaW9uc1wvYWRtaW4gYXBpOioiLCJhdWQiOiJqZnJ0QCoiLCJpc3MiOiJqZmZlQDAwMCIsImV4cCI6MTYzMDY0NTM1OCwiaWF0IjoxNjMwNjQxNzU4LCJqdGkiOiI5YzcyMjMxOC01ZjBmLTQ1MTEtYTY2Yi1lMzVhMDkyYmFlMWMifQ。yop6a2gmooc9nqcyroxgun_1zs7wt5yatyqus8ziruvkxxemzlo0gi5q6kxfniagvwetb5rp2tmlkm29hm7qp4hok_bppttfkku1unjj8mn63ng1gmors2eh2fvpzej3yyurdnd65273ac5qs4unxp_4dqaqhgb_xu0b2xzhajqlkbyywelickbljc4osvphw2lj10wqhfqedofej0aknaz8wguo28l4gljr7upzqjao0vwarkc_u3jysgsm_saxh1z72avhaerhczm7tr5gdbrsfrcuahok66pelidaqxfxmsyzg -name myAccessTokenArtifactory

set_trigger_payload

描述

将一个或多个key=value对作为自定义步骤变量或管道变量添加到可用于调用管道触发器API的JSON有效负载中。

多个键=值对可以在单个命令中给出,也可以在多个命令中拆分。

如果一个键被添加了两次,原来的值将被替换。

使用

Bash

set_trigger_payload[stepVariables|pipelineVariables] <键值对> .

PowerShell

PowerShell目前不支持

  • stepVariables:这些键值对将出现在触发步骤的环境中
  • pipelineVariables:这些键值对将出现在被触发的运行的每个步骤的环境中。


Bash的例子

set_trigger_payload stepVariables "shouldScan=true" "notify=email"

set_trigger_payload pipelinesVariables "releaseVersion=1.2.3"

set_trigger_payload pipelinesVariables "collectData=true"

get_trigger_payload

描述

在标准输出上打印一个可以与管道触发器API一起使用的有效负载。

使用set_trigger_payload向负载添加附加值。

使用

Bash

get_trigger_payload

PowerShell

PowerShell目前不支持

Bash的例子

curl -XPOST -H "authorization: holder " -H "content-type: application/json" /pipelines/api/v1/pipelineSteps/:id/trigger -d "$(get_trigger_payload)"



源控制

compare_git

列出在提交范围内包含更改的文件/目录。这个函数是u在构建monorepo(单片存储库)时使用Seful来确定哪些服务发生了更改。

Bash compare_git[——path |——resource] [options]
PowerShell
compare_git[-path | -resource] [options]
  • 路径git存储库的文件系统路径。
  • 资源是名字吗gitRepo资源
  • commit-range选项指定查找更改的提交范围(例如:头~ 1 . .).
  • directories-only选项仅列出包含更改的目录。
  • 深度选项返回特定深度的文件/文件夹。根目录深度为1。
Bash的例子

ubuntu:~$ compare_git——path ./microservices——commit-range HEAD~2.
api /共同/工具/ leftpad.js
api / main.js
通知人/ main.js

ubuntu:~$ compare_git——path ./microservices——commit-range HEAD~2.--directories-only
api /共同/工具/
api /
通知人/

ubuntu:~$ compare_git——path ./microservices——commit-range HEAD~2.--directories-only--深度1
api
通知人

ubuntu:~$ compare_git——path ./microserv——commit-range HEAD~2..HEAD——仅限目录——深度为1

在路径:./microserv下找不到Git存储库

PowerShell的例子

\ users\ windowsuser> compare_git -path microservices -commit-range HEAD~2.
api /共同/工具/ leftpad.js
api / main.js
通知人/ main.js

\ users\ windowsuser> compare_git -path microservices -commit-range HEAD~2.-directories-only
api /共同/工具/
api /
通知人/

\ users\ windowsuser> compare_git -path microservices -commit-range HEAD~2.-directories-only-深度1
api
通知人

\ users\ windowsuser> compare_git -path microserv -commit-range HEAD~2..HEAD - directory -only -depth

在路径:./microserv下找不到Git存储库

update_commit_status

描述

更新状态源提供程序上的提交。状态选项包括处理成功,失败

使用

Bash

update_commit_status ——status <状态>——message <消息>——context <上下文>

PowerShell

update_commit_status -status <状态> -message <消息> -context <上下文> . update_commit_status

update_commit_status ——status <状态>——message <消息>——context <上下文>

  • gitRepo资源名的名称gitRepo资源。
  • 状态是要在源提供程序上设置的状态:处理成功,或失败
    如果未指定状态:
    • 处理将在onStart而且onExecute
    • 成功将被假定调用onSuccess
    • 失败将被假定onFailure
  • 消息与状态一起发送的消息(描述)字符串。
    如果没有指定消息,默认消息将是"Step in pipeline $pipeline_name"
  • 上下文对象的上下文(键)状态.源提供程序将只保留为该上下文接收到的最新状态。
    如果没有指定上下文,默认值是$pipeline_name $step_name
Bash的例子

update_commit_status myGitRepoResource

update_commit_status myGitRepoResource——状态处理——message " my description "——context $step_name

PowerShell的例子

update_commit_status myGitRepoResource

update_commit_status mygiitreporesource -status processing -message " my description " -context $step_name


测试报告

save_tests

描述

复制作为输入的测试报告,以便稍后解析和上传(如果文件存储可用)。

使用

Save_tests <文件或目录>

  • 文件目录指定测试报告文件的文件名,或测试报告文件目录的目录名
例子

save_tests testreport.xml


加密

encrypt_string

描述

使用提供的公钥加密指定的字符串。

使用

Bash
Encrypt_string——key  <源字符串> . Encrypt_string——key 
PowerShell

Encrypt_string -key <源字符串>

  • 关键公钥文件的完全限定路径
  • 源字符串字符串要加密吗
Bash的例子

Ubuntu:~$ encrypt_string——key pub.pem“管理:passw0rd”
LbuD69yxEC6wi1M2B + / 06 zy0vs + VcahcWeHovWi8GnUC04zBFrFXBmkAbG4TWRRvwbROgSsj2fo +
06 ssaspnb8fzdkufp6z89yjnlsh8ucq3gubvfcgtgtqhuzihq0pvfrkrk9iyivjex6 zpkvqa6t + 0
dVK0X / 5 pctwbkk5nivw =

PowerShell的例子

\ users\ windowsuser> encrypt_string "admin:passw0rd" -key pub.pem
LbuD69yxEC6wi1M2B + / 06 zy0vs + VcahcWeHovWi8GnUC04zBFrFXBmkAbG4TWRRvwbROgSsj2fo +
06 ssaspnb8fzdkufp6z89yjnlsh8ucq3gubvfcgtgtqhuzihq0pvfrkrk9iyivjex6 zpkvqa6t + 0
dVK0X / 5 pctwbkk5nivw =

decrypt_string

描述

使用提供的私钥解密指定的字符串。

这通常用于解密使用加密的信息encrypt_string使用相应的公钥。它可以帮助您避免构建自己的加密-解密系统。

使用

Bash Decrypt_string——key <加密字符串>
PowerShell
Decrypt_string -key  <加密的字符串>
  • 关键私钥文件的完全限定路径
  • 加密的字符串字符串是否要解密
Bash的例子

Ubuntu:~$ decrypt_string——key key。pem LbuD69yxEC6wi1M2B + / 06 zy0vs + VcahcWeHovWi8GnUC04zBFrFXBmkAbG4TWRRvwbROgSsj2fo + 06 ssaspnb8fzdkufp6z89yjnlsh8ucq3gubvfcgtgtqhuzihq0pvfrkrk9iyivjex6 + 0 zpkvqa6tdvk0x / 5 pctwbkk5nivw =

管理:passw0rd


ubuntu:~$ decrypt_string LbuD69yxEC6wi1M2B+/06ZY0vS+VcahcWeHovWi8GnUC04zBFrFXBmkAbG4TWRRvwbROgSsj2fo+06SsaSPnb8fZDKuFP6Z89yJnLsh8UCq3gUbvFcGtgTQHUzIHQ0PVfrKrk9IyIvJex6+ 0zpkvqa6tdvkk5nivw =
decrypt_string: ERROR -找不到密钥文件

PowerShell的例子

\ users\ windowsuser> decrypt_string -key密钥。pem LbuD69yxEC6wi1M2B + / 06 zy0vs + VcahcWeHovWi8GnUC04zBFrFXBmkAbG4TWRRvwbROgSsj2fo + 06 ssaspnb8fzdkufp6z89yjnlsh8ucq3gubvfcgtgtqhuzihq0pvfrkrk9iyivjex6 + 0 zpkvqa6tdvk0x / 5 pctwbkk5nivw =

管理:passw0rd


PS C:\Users\ windowsuser >decrypt_string LbuD69yxEC6wi1M2B + / 06 zy0vs + VcahcWeHovWi8GnUC04zBFrFXBmkAbG4TWRRvwbROgSsj2fo + 06 ssaspnb8fzdkufp6z89yjnlsh8ucq3gubvfcgtgtqhuzihq0pvfrkrk9iyivjex6 + 0 zpkvqa6tdvk0x / 5 pctwbkk5nivw =
键是必填项,请提供一个值。

encrypt_file

描述

使用提供的公钥将指定文件加密为新文件。

使用

Bash
Encrypt_file——key [——output ]  . Encrypt_file——key [——output 
PowerShell
Encrypt_file -key  [-output ]  . Encrypt_file -key  [-output 
  • 关键公钥文件的完全限定路径
  • 输出生成的加密文件的名称。默认为“encrypted”
  • 源文件名这个文件要解密吗
Bash的例子

Ubuntu:~$ cat secrets.json
{“TOP_SECRET_CONFIDENTIAL_FORMULA”:“uuddlrlrbas”}
Ubuntu:~$ encrypt_file secrets。——pub.pem
encrypt_file:加密秘密。使用密钥pub.pem生成Json
encrypt_file:加密的秘密。Json加密
Ubuntu:~$ cat加密
dGpLiI2IORfkRpSEhhuN9A8U / dQLlyHD6EKermRM5bnoIBcM7TWpLU3Y53f4zsAKTSmmQKHucPxJ
YFOVc6F1AWItYIgTSp2dEY4ugIZ7uTn IIa0qU7EGUREtPyrdu9N5phS2UybTn0u80CSP7Bf / HF +
5 xhbcvlenufanifldbo =

PowerShell的例子

PS C:\Users\ windowsuser >类型secrets.json
{“TOP_SECRET_CONFIDENTIAL_FORMULA”:“uuddlrlrbas”}
PS C:\Users\ windowsuser >encrypt_file秘密。Json -key pub.pem
encrypt_file:加密秘密。使用密钥pub.pem生成Json
encrypt_file:加密的秘密。Json加密
PS C:\Users\ windowsuser >加密类型
dGpLiI2IORfkRpSEhhuN9A8U / dQLlyHD6EKermRM5bnoIBcM7TWpLU3Y53f4zsAKTSmmQKHucPxJ
YFOVc6F1AWItYIgTSp2dEY4ugIZ7uTn IIa0qU7EGUREtPyrdu9N5phS2UybTn0u80CSP7Bf / HF +
5 xhbcvlenufanifldbo =

decrypt_file

描述

使用提供的私钥将指定文件解密为新文件。

这通常用于解密使用加密的信息encrypt_file使用相应的公钥。它可以帮助您避免构建自己的加密-解密系统。

使用

Bash Decrypt_file——key [——output ] <源文件名>
PowerShell
Decrypt_file -key  [-output ] 
  • 关键私钥文件的完全限定路径
  • 输出结果解密文件的名称。默认为“解密”
  • 源文件名这个文件要解密吗
Bash的例子

Ubuntu:~$ cat加密
dGpLiI2IORfkRpSEhhuN9A8U / dQLlyHD6EKermRM5bnoIBcM7TWpLU3Y53f4zsAKTSmmQKHucPxJ
YFOVc6F1AWItYIgTSp2dEY4ugIZ7uTn IIa0qU7EGUREtPyrdu9N5phS2UybTn0u80CSP7Bf / HF +
5 xhbcvlenufanifldbo =


Ubuntu:~$ decrypt_file encrypted——key key.pem
decrypt_file:使用key key.pem加密后解密
decrypt_file:解密加密到解密


Ubuntu:~$ cat解密
{“TOP_SECRET_CONFIDENTIAL_FORMULA”:“uuddlrlrbas”}


Ubuntu:~$ decrypt_file encrypted——key key.pem——输出secrets.json
decrypt_file:使用key key.pem加密后解密
decrypt_file:解密加密为secrets.json

PowerShell的例子

PS C:\Users\ windowsuser >加密类型
dGpLiI2IORfkRpSEhhuN9A8U / dQLlyHD6EKermRM5bnoIBcM7TWpLU3Y53f4zsAKTSmmQKHucPxJ
YFOVc6F1AWItYIgTSp2dEY4ugIZ7uTn IIa0qU7EGUREtPyrdu9N5phS2UybTn0u80CSP7Bf / HF +
5 xhbcvlenufanifldbo =


PS C:\Users\ windowsuser >Decrypt_file encrypted -key key.pem
decrypt_file:使用key key.pem加密后解密
decrypt_file:解密加密到解密


PS C:\Users\ windowsuser >类型解密
{“TOP_SECRET_CONFIDENTIAL_FORMULA”:“uuddlrlrbas”}


PS C:\Users\ windowsuser >Decrypt_file encrypted -key key.pem-输出secrets.json
decrypt_file:使用key key.pem加密后解密
decrypt_file:解密加密为secrets.json


通知

send_notification

描述

利用通知集成在构建期间的任何时间向任何收件人发送自定义消息。

使用

Send_notification  [options]

选项可以作为命令的一部分指定,也可以在发出命令之前定义为环境变量。

命令行参数优先于环境变量。

命令行选项

减速板

创建一个AirBrake部署减速板集成PowerShell不支持。

Bash 选项描述
——项目号

要为其发送通知的项目ID

——环境 发布部署时要使用的环境值
——用户名 在发布AirBrake部署时使用
——电子邮件 电子邮件将用于张贴AirBrake部署
——库 在发布AirBrake部署时使用的存储库
——修订 部署修改
——版本 发布AirBrake部署时使用的版本
——类型

目前只支持“deploy”类型


——描述 部署说明
——有效载荷 路径到有效的JSON文件,其中包含用于POST AirBrake部署的有效载荷


Jira

创建一个Jira问题(也称为票据)。

Bash Powershell 选项描述
——项目号 项目号

与新问题相关联的项目的项目密钥。项目密钥是项目所有issue编号开头的短字符串(例如,“EXAMPLE-1234”)。

——类型 类型

新问题的问题类型(例如,“Bug”,“任务”等)。这个字符串必须是公认的Jira问题类型

——总结 总结 新问题的Summary字段的字符串(它的标题)
——描述 ——描述 (可选)新问题的描述字段的字符串
——附件 ——附件

(可选)要附加到问题的文件的路径


NewRelic

创建一个NewRelic部署NewRelic集成PowerShell不支持。

Bash 选项描述
——类型 要发布的对象类型。目前,只支持“部署”
——描述 部署说明
——用户名 记录部署的用户。默认为“JFrog管线”
——更新日志

要在部署中使用的changelog值

——修订

部署修订(必需的)

——appId 正在部署的应用程序的ID。如果没有提供,——appName必须存在
——浏览器名称

正在部署的应用程序的名称。如果没有提供,——appId必须存在


——有效载荷

到有效JSON文件的路径,该文件包含用于POST NewRelic部署的有效负载

PagerDuty事件

对象发送事件PagerDuty事件集成

Bash

Powershell

选项描述

——文本 语境

在PagerDuty上的事件中显示的主要文本。


松弛

在Slack上通过一个松弛的集成

Bash Powershell 选项描述
——有效载荷 有效载荷 (可选)一个有效json文件的路径,作为消息的有效负载。如果提供了有效负载,则忽略所有其他参数。这个有效负载是直接发送到Slack的,所以请查看Slack API文档,了解如何格式化有效负载。
——用户名 用户名 (可选)显示在Slack消息的标题中
——借口 借口 (可选)一个字符串,成为Slack消息的第一部分。默认为当前日期/时间
——文本 语境

(可选)在消息中显示的主要文本。

——颜色 -颜色 (可选)十六进制字符串,将状态栏的颜色更改到Slack消息的左侧。
——收件人 收件人 (可选)消息的目标。用户或通道应分别以“@”或“#”开头。
——图标url 图标url (可选)显示在消息旁边的图标的url


smtpCreds(电子邮件)

发送电子邮件SMTP凭证集成

Bash Powershell 选项描述
——收件人 收件人

一个或多个电子邮件地址

——主题 主题 (可选)向主题添加消息。不替换默认主题
——身体 身体 (可选)指定一些文本添加到电子邮件的主体。不替换现有的正文信息
——状态 地位 (可选)可以设置为有效的状态字符串。默认情况下,它将根据执行命令的scrip部分进行设置。
——附件 附件 (可选)附加到电子邮件的文件列表。所有文件的总和不能超过5MB
——attach-logs -attach-logs (可选)' true '或' false '。默认为false。该步骤的所有可用日志都将附加到电子邮件中。注意,它只能附加已经创建的日志,因此,例如,在onStart部分中使用这个选项将不会有非常详细的日志。
——show-failing-commands -show-failing-commands (可选)'真'或'假'。默认为false。该步骤的现有日志将被解析。检测到的任何失败的命令将被添加到电子邮件的正文中,以及前面最多100行(如果从同一命令中打印)


环境的选择

所有上述选项也可以作为环境变量而不是参数包含。命令行参数将优先于环境。以下是环境污染的完整清单:

  • NOTIFY_USERNAME(——用户名/用户名)
  • NOTIFY_PASSWORD(——密码/密码)
  • NOTIFY_RECIPIENT(——收件人/收件人)
  • NOTIFY_PRETEXT(——借口/借口)
  • NOTIFY_TEXT(——文本/语境)
  • NOTIFY_COLOR(——颜色/ -颜色)
  • NOTIFY_ICON_URL(——图标url / -icon-url)
  • NOTIFY_PAYLOAD(——有效载荷/负载)
  • NOTIFY_TYPE(——类型/类型)
  • NOTIFY_PROJECT_ID(——项目id / -project-id)
  • NOTIFY_ENVIRONMENT(——环境/环境)
  • NOTIFY_REVISION(修改/修订)
  • NOTIFY_SUMMARY(——总结/总结)
  • NOTIFY_ATTACH_FILE(——附件/ -attach-file)
  • NOTIFY_REPOSITORY(——库/存储库)
  • NOTIFY_EMAIL(电子邮件,电子邮件/电子邮件)
  • NOTIFY_STATUS(——地位/地位)
  • NOTIFY_VERSION(——版本/ - version)
  • NOTIFY_CHANGELOG(——更新日志/更新日志)
  • NOTIFY_DESCRIPTION(描述-描述/描述)
  • NOTIFY_ATTACHMENTS(附件——附件/附件)
  • NOTIFY_ATTACH_LOGS(——attach-logs / -attach-logs)
  • NOTIFY_SHOW_FAILING_COMMANDS(——show-failing-commands / -show-failing-commands)
  • NOTIFY_SUBJECT(——学科/主题)
  • NOTIFY_BODY(身体)



JSON

set_payload

描述

对象的可选JSON有效负载(字符串或文件)OutgoingWebhook资源。在步骤中指定OutgoingWebhook时output2022世界杯阿根廷预选赛赛程resources当步骤完成时发送有效负载。

使用

Bash

Set_payload [——file]

PowerShell
Set_payload   [-file]
  • 资源是名字吗OutgoingWebhook资源。
  • 有效载荷是一个JSON字符串或文件,附加到资源,将作为传出webhook的一部分发送。可以将文件指定为相对于当前目录的路径、绝对路径或相对于步骤工作区目录的路径。
  • 文件选项指定有效载荷参数是一个文件。如果没有指定,有效载荷将作为字符串处理。
Bash的例子

set_payloadmyExternalHookResource“{\“测试\”:\“载荷\”}”

回声“{\“测试\”:\“载荷\”}”> testpayload.json
myExternalHookResource测试负载。json文件,

PowerShell的例子

set_payloadmyExternalHookResource“{”测试”:“有效载荷”“}”

设置内容路径testpayload。json值“{”测试”:“有效载荷”“}”
myExternalHookResource测试负载。json - file

read_json

描述

从指定的文件中提取json属性值。

这简化了JSON文件的处理,以读取工作流所需的特定属性值。

PowerShell不支持

在PowerShell,ConvertTo-Json建议作为替代方案。


使用

Read_json <文件>的路径<字段名> . zip
  • 文件路径是完全限定的路径吗JSON文件
  • 字段名称是要读取该值的字段。使用点表示法,数组使用[n]。
例子

Ubuntu:~$ cat secrets.json

“TOP_SECRET_CONFIDENTIAL_FORMULA”“uuddlrlrbas”
“LESSER_SECRET_FORMULA”“dyddy”
“TOP_5_PASSWORDS_LIST”:【
“admin”
“passw0rd”
“testing123”
“correcthorsebatterystaple”
),
“嵌套”:{
"是":{
“快乐”:“耶”




Ubuntu:~$ read_json secrets.json“LESSER_SECRET_FORMULA”
dyddy

Ubuntu:~$ read_json secrets.json“TOP_5_PASSWORDS_LIST[3]”
correcthorsebatterystaple

Ubuntu:~$ read_json secrets.json"nesting.is.fun”


2022世界杯阿根廷预选赛赛程

replicate_resource

描述

这个命令接受一个输入资源并创建一个精确的副本。这有助于将元数据从一个步骤转移到下一个步骤。

使用

Bash Replicate_resource [——options]
PowerShell
Replicate_resource   [-options]
  • from_resource是名字吗input2022世界杯阿根廷预选赛赛程Resources要从中复制的资源。
  • to_resource是名字吗output2022世界杯阿根廷预选赛赛程Resources资源的复制数据,该资源将从from_resource中的任何预先存在的文件或键-值对to_resource将被取代。
  • match-settings选项中的任何分支/标记设置时,应设置to_resource例如,如果你的from_resourcegitRepo可以在提交和提取请求时触发,但您只想更新您的to_resource在提交时,可以使用——match-settings和to_resource才会更新时from_resource有一个承诺。
Bash的例子

replicate_resource myRepo1 myRepo2——match-settings
replicate_resource myteestimage myStageImage

PowerShell的例子

replicate_resource myRepo1 myRepo2 -match-settings
replicate_resource myteestimage myStageImage

write_output

描述

将数据以键/值对的形式添加到输出资源,这些键/值对将成为资源的属性。

使用

Bash
Write_output  (——覆盖
PowerShell

Write_output (覆盖

  • 资源资源是否要更新
  • 键值对是一个单独的字符串,包含一个键和一个值,由“=”分隔。可以提供多个这样的字符串作为输入。带有空格的值应该用引号括起来。
Bash Powershell 选项描述
——覆盖 覆盖

如果提供,所有键值对都将被替换。

例子

write_output模板imageTag =主沙= $ commitSha描述= \“hello world \”


新附加的属性可以作为表单的环境变量访问res_{资源名}_{密钥名}

例如,上面创建的属性可以作为这些环境变量访问:

$ printenv res_myImage_sha d6cd1e2bd19e03a81132a23b2025920577f84e37 "hello world"

缓存

缓存通过保存和恢复一个步骤运行之间的包和依赖关系来帮助您加快步骤的执行。这样,你就可以通过避免重复安装或加载大型依赖项来减少构建时间。

add_cache_files

描述

复制作为输入的文件,以便稍后上传(如果文件存储可用)。

使用

Add_cache_files <文件或目录> <名称>

  • 文件或目录文件或目录是否存储在缓存中
  • 的名字用于指定存储的文件或目录的名称(不带空格)。
例子

添加cache_files cachefile.txt my_file

Add_cache_files目录/ my_directory子目录

restore_cache_files

描述

将存储的缓存(如果文件存储可用)复制到指定位置。如果缓存中没有可用,则不会发生错误。

使用

Restore_cache_files .使用实例

  • 的名字缓存时要恢复的文件或驱动器的名称。
  • 路径放置文件或目录的路径。
例子

Restore_cache_files my_file cachefile.txt

Restore_cache_files my_directory目录/子目录


运行状态管理

add_run_variables

描述

允许您添加在以下运行步骤中可用的环境变量。

如果设置了以下变量,将使用它们:

  • JFROG_CLI_BUILD_NAME:如果设置,管道将使用此值而不是收集的构建信息的默认管道名称。
  • JFROG_CLI_BUILD_NUMBER:如果设置,管道将使用此值而不是收集的生成信息的默认运行号。
  • USE_LOCAL_JFROG_CLI:如果设置为真正的,主机或镜像中的本地JFrog CLI运行时configuration)被用来代替JFrog管线打包的版本。不建议这样做,本机步骤可能无法与本地JFrog CLI版本一起运行。

使用

Add_run_variables <键值对>…

  • 键值对是一个单独的字符串,包含一个键和一个值,由“=”分隔。可以提供多个这样的字符串作为输入。在使用此命令时,每个值都将作为环境变量导出,并在运行的后续步骤中自动导出。
例子

add_run_variablesimageTag = "大师"

export_run_variables

描述

获取包含运行变量的文件的源。这将自动完成,但也可以用于“重置”当前步骤中的环境变量。

使用

export_run_variables

例子

export_run_variables

add_run_files

描述

如果文件存储可用,则将作为输入给定的文件复制到运行状态,以便在运行的后续步骤中使用。

使用

Add_run_files <文件或目录> . Add_run_files

文件或目录要存储在运行状态下的文件或目录

的名字用于指定存储的文件或目录的名称(不带空格)。这不能运行。

例子

Add_run_files cachefile.txt my_file

添加run_files目录/ my_directory子目录

添加run_files目录/*/子目录my_directory

restore_run_files

描述

将存储在运行状态的文件(如果文件存储可用)复制到指定位置。如果在运行状态下没有可用的内容,则不会发生错误。

使用

Restore_run_files . txt

  • 的名字要恢复的文件的名称是在添加到运行状态时给出的。
  • 路径放置文件的路径。
例子

Restore_run_files my_file cachefile.txt

Restore_run_files my_directory目录/子目录


亲和组状态管理

add_affinity_group_files

描述

将作为输入给定的文件或目录复制到亲和性组工作区中,以便在亲和性组的后面步骤中使用。文件或目录可以使用通配符(*)指定,也可以在存储文件的名称之前指定多个输入参数。

使用

Add_affinity_group_files <文件或目录> . Add_affinity_group_files <文件或目录>

文件或目录要存储在运行状态下的文件或目录。

的名字用于指定存储的文件或目录的名称(不带空格)。

例子

Add_affinity_group_files cachefile.txt my_file

add_affinity_group_files myDirectory myOtherDirectory/ my_directories子目录

add_affinity_group_files myDirectory/*.txt my_text_files

add_affinity_group_files . ./ adjacentDirectory my_adjacent_directory

restore_affinity_group_files

描述

复制存储在亲和性组工作区中的文件add_affinity_group_files到指定的位置。恢复行为与其他状态恢复函数不同,可以更好地处理具有可变数量的匹配文件或目录的通配符模式。与restore_affinity_group_files属性中指定的相对路径add_affinity_group_files函数将被保留(不包括对父目录的遍历),并且指定的路径应该是该相对路径的基。下面的示例将对称地恢复上面示例中保存的文件add_affinity_group_files。如果没有保存文件,则不会发生错误。

使用

Restore_affinity_group_files

  • 的名字要恢复的文件的名称是在存储文件时给出的add_affinity_group_files
  • 路径放置文件的路径。
例子

Restore_affinity_group_files my_file。

Restore_affinity_group_files my_directories。

Restore_affinity_group_files my_text_files。

Restore_affinity_group_files my_adjacent_directory ..


管道状态管理

add_pipeline_variables

描述

允许您添加在接下来的运行步骤和将来的运行中可用的环境变量。这些变量可能会被添加到当前运行中的具有相同键的另一个变量覆盖。

如果设置了以下变量,将使用它们:

  • JFROG_CLI_BUILD_NAME:如果设置,管道将使用此值而不是收集的构建信息的默认管道名称。
  • JFROG_CLI_BUILD_NUMBER:如果设置,管道将使用此值而不是收集的生成信息的默认运行号。
  • USE_LOCAL_JFROG_CLI:如果设置为真正的,主机或镜像中的本地JFrog CLI运行时configuration)被用来代替JFrog管线打包的版本。不建议这样做,本机步骤可能无法与本地JFrog CLI版本一起运行。

使用

Add_pipeline_variables <键值对>…

  • 键值对是一个单独的字符串,包含一个键和一个值,由“=”分隔。可以提供多个这样的字符串作为输入。在使用此命令时,每个值都将作为环境变量导出,并在运行完成后开始的任何步骤中自动导出。
例子

add_pipeline_variablesimageTag = "大师"

add_pipeline_variablesimageName = "模板" imageTag = "大师"

export_pipeline_variables

描述

源包含管道变量的文件。这将自动完成,但也可以用于“重置”当前步骤中的环境变量。

使用

export_pipeline_variables

例子

export_pipeline_variables

add_pipeline_files

描述

如果文件存储可用,则将作为输入的文件复制到管道状态,以便在运行的后面步骤和将来的运行中使用。

使用

Add_pipeline_files <文件或目录> <名称>

  • 文件或目录要存储在管道状态下的文件或目录。
  • 的名字给出所存储文件或目录的名称(不带空格)。这不能是pipeline.env。
例子

添加流水线文件cachefile.txt my_file

添加pipeline_files目录/ my_directory子目录

restore_pipeline_files

描述

将存储在管道状态下的文件(如果文件存储可用)复制到指定位置。如果在运行状态下没有可用的内容,则不会发生错误。

使用

Restore_pipeline_files

  • 的名字要恢复的文件的名称是在添加到管道状态时给出的。
  • 路径放置文件的路径。
例子

Restore_pipeline_files my_file cachefile.txt

Restore_pipeline_files my_directory目录/子目录


一步的属性

find_resource_variable

描述

检索资源的已命名属性的值。

使用

find_resource_variable

  • resourceName资源的名称。
  • propertyName要检索其值的资源属性的名称。
例子

find_resource_variable myGitHubcommitSha

find_resource_variable myImage imageTag

get_integration_name

描述

检索找到的指定类型的第一个集成的名称。可用于扩展步骤,以获取特定类型的第一个输入集成的名称。

使用

Get_integration_name——type <集成类型>

例子

get_integration_name——类型Slack

get_integration_name——type“Docker注册表”

get_resource_name

描述

中指定类型的第一个资源的名称input2022世界杯阿根廷预选赛赛程Resourcesoutput2022世界杯阿根廷预选赛赛程Resources.可用于扩展步骤,以获取特定类型的第一个输入或输出资源的名称。

使用

get_resource_name——type <资源类型>——operation ——syntax-version

  • 资源类型是一个名字吗资源类型
  • 进|出选择资源是否在input2022世界杯阿根廷预选赛赛程Resourcesoutput2022世界杯阿根廷预选赛赛程Resources
  • semver资源的语法版本的语义版本号
例子

get_resource_name——type GitRepo——操作IN

get_resource_name——type BuildInfo——操作OUT

get_resource_name——type GitRepo——操作IN——语法版本1.5.0

get_resource_names

描述

中指定类型的名称的数组input2022世界杯阿根廷预选赛赛程Resourcesoutput2022世界杯阿根廷预选赛赛程Resources.可用于扩展步骤,以获取特定类型的输入或输出资源的名称。

使用

get_resource_names——type <资源类型>——operation ——syntax-version

  • 资源类型是一个名字吗资源类型
  • 进|出选择资源是否在input2022世界杯阿根廷预选赛赛程Resourcesoutput2022世界杯阿根廷预选赛赛程Resources
  • semver资源的语法版本的语义版本号
  • 在PowerShell中,返回一个原生PowerShell数组。在Bash中,返回一个JSON数组,可以用jq处理。
例子

get_resource_names——类型GitRepo——操作IN

get_resource_names——type BuildInfo——操作OUT

get_resource_names——type GitRepo——操作IN——语法版本1.5.0

get_affinity_group_step_names

描述

检索当前亲和组中指定类型的步骤名称的JSON数组。

使用

Get_affinity_group_step_names[——type ][——syntax-version ][——namespace ]

  • ——类型用于指定要查找的步骤的类型。如果未指定,将返回所有类型的步骤。
  • ——syntax-version与扩展步骤一起使用,以指定要查找的步骤的语法版本。
  • ——名称空间与扩展步骤一起使用,以指定要找到的步骤的名称空间。
例子

get_affinity_group_step_names

get_affinity_group_step_names——type GitRepo

get_affinity_group_step_names——type MyExtension——语法版本1.5.0

get_affinity_group_step_names——type MyExtension——namespace myNamespace——语法版本1.5.0

find_step_configuration_value

描述

属性的值配置属性指定当前正在执行的步骤。如果属性是一个集合,则返回第一个值。可用于扩展步骤以获取配置的值。

使用

find_step_configuration_value < propertyName >

  • propertyName步骤配置属性的名称是要检索的值吗
例子

find_step_configuration_value forceXrayScan

  • 没有标签
版权所有©2022 JFrog Ltd.