云客户?
免费开始>
在MyJFrog中升级>
云的新功能>





概述

PowerShell步骤类型是一个泛型类型,用于执行PowerShell命令。PowerShell步骤只能在Windows节点池上运行,与其他节点池上的Bash步骤类似。作为一个通用的步骤,它可以执行任何可以脚本化的操作,即使没有与JFrog Pipelines集成的工具和服务,它也可以用于执行需要完全控制的操作。


在Windows节点池中运行的所有本机步骤都派生于PowerShell步骤。这意味着所有步骤都共享来自PowerShell的相同基本标记集,而本机步骤也有自己的附加标记来支持步骤的特定功能。因此,在Windows上运行步骤时,熟悉PowerShell步骤定义非常重要,因为它是所有其他步骤定义的核心。

使用


PowerShell
管道:- name: 步骤:- name: 类型:PowerShell配置:affinityGroup: bldGroup priority: <[0-10000]> timeoutSeconds: <作业超时限制> nodePool: < nodePool的名称>时间顺序:环境变量:env1:  env2:  env3: default:  description:  values:  allowCustom: 集成:- name: <集成名称> inputSteps: - name: <步骤名称> inputResources: - name: <资源名称>触发器:2022世界杯阿根廷预选赛赛程 # default true branch:  #参见以下默认值的描述outputResources: - name: <资源名称>2022世界杯阿根廷预选赛赛程 branch:  #参见以下默认值的描述runtime: type:  image: auto: language: versions: custom: name: tag: options: registry:  #私有注册表的可选集成sourceRepository:  #如果注册表是Artifactory则需要。例如,如果注册表是AWS, docker-local region: # required。例如us-east-1 autoPull:  # default true;onStart: - echo "Preparing for work…" onExecute: - echo " doing task command 1" - echo " doing task command 2" onSuccess: - echo "Job well done!" onFailure: - echo "uh oh, something出错了" onComplete: #always - echo "Cleaning up some stuff"
页面内容

标签

名字

一个字母数字标识步骤的字符串(允许使用下划线)。名称的选择应准确地描述步骤的作用,例如:prov_test_env表示提供测试环境的作业。步骤的名称在管道中必须是唯一的。

类型

必须PowerShell对于这一步,输入:

配置

指定所有步骤执行环境的可选配置选择。

标签

使用说明

必需的/可选
affinityGroup 控制与节点关联的标签。具有相同affinityGroup的所有步骤将在同一节点上执行。这将允许在步骤之间共享状态。一个例子是在管道中对DockerBuild和DockerPush步骤具有相同的affinityGroup,以便在DockerBuild步骤中构建的映像可以用于在DockerPush步骤中发布 可选
优先级

当管道中有并行步骤或多个正在执行的管道时,控制步骤的优先级。它确定在对运行的步骤数量没有限制的情况下,哪个步骤将首先在所有可以运行的步骤中运行。数值较低的步骤将在数值较高的步骤之前运行。例如,优先级10将在优先级100之前运行。缺省优先级为9999。

优先级不适用于仍在等待输入完成或配置为在没有可用节点的节点池中运行的步骤。同样,如果有两个步骤准备运行,并且只有一个可用节点,那么优先级较低的那个将首先运行,而不管每个步骤属于哪个管道。

可选
timeoutSeconds 完成步骤的时间限制,以秒为单位。如果该步骤没有在给定的时间限制内完成,则该步骤将被强制变为失败的完成状态。 可选
nodePool 分配执行该步骤的节点池。如果未指定节点池,则在默认节点池上执行步骤。在这里看到的了解更多关于节点池的信息。 可选
按时间顺序排列

指定该步骤必须按时间顺序执行,以确保接收到来自前面步骤的所有状态更新。
一个步骤时间:真只在该步骤全部完成时执行先前触发的运行

可选
environmentVariables 以key:value格式分配任何环境变量及其值。在步骤定义中分配的所有环境变量仅在该步骤的执行范围内是活动的。变量将在全局作用域和env开车。

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

  • JFROG_CLI_BUILD_NAME:如果设置,管道将使用此值而不是收集的构建信息的默认管道名称。
  • JFROG_CLI_BUILD_NUMBER:如果设置,管道将使用此值而不是收集的构建信息的默认运行号。
  • USE_LOCAL_JFROG_CLI:如果设置为真正的,在主机上或映像中的本地JFrog CLI(取决于运行时配置),而不是与JFrog pipeline一起打包的版本。不建议这样做,本地步骤可能无法在本地JFrog CLI版本中运行。
可选
集成 此步骤将使用的集成的集合。集成可以在没有资源的情况下直接使用。 可选
inputSteps 已命名步骤的集合,其完成将触发此步骤的执行。 可选
input2022世界杯阿根廷预选赛赛程Resources

将在此步骤中用作输入的命名资源的集合。2022世界杯阿根廷预选赛赛程

默认情况下,对这些已命名资源的更改2022世界杯阿根廷预选赛赛程将触发此步骤的执行。这可以通过声明来改变触发

一个分支仅在使用来自多分支源的另一个分支的资源时才需要。默认情况下,使用来自单个分支源的资源或来自多分支管道的同一分支的资源。若要在单分支管道中使用多分支资源,或在多分支管道中使用另一个分支,分支应用于指定资源所属的分支。

可选
output2022世界杯阿根廷预选赛赛程Resources

此步骤将生成或更改的已命名资源的集合。2022世界杯阿根廷预选赛赛程

一个分支只需要来自多分支源的另一个分支的资源。2022世界杯阿根廷预选赛赛程默认情况下,假设来自单个分支源或来自多分支管道的同一分支的资源。要更新单分支管道中的多分支资源或多分支管道中的另一个分支,分支应用于指定资源所属的分支。

可选
运行时 指定执行节点的运行时。 可选

执行

声明一组shell命令序列,以便在不同的执行阶段执行:

标签 使用说明 必需的/可选
onStart 要提前执行的命令onExecute 可选
onExecute 步骤中要执行的主要命令 可选
调用onSuccess 成功完成时要执行的命令onExecute 可选
onFailure 失败完成时要执行的命令onExecute 可选
onComplete 的任何完成时执行的命令onExecute 可选

例子

这是一个例子如何使用PowerShell步骤来执行构建活动。

PowerShell步骤构建
—name: build type: PowerShell configuration: nodePool: my_windows_node_pool environmentVariables: env1: value1 env2: default: value2 description: Example变量值:—value2—value3 allowCustom: false runtime: type: image image: auto: language: node versions:—"10.18" inputResources:—name: src2022世界杯阿根廷预选赛赛程 integrations:—name: mySlack execution: onExecute:Push-Location res_src_resourcePath美元- npm安装新项目检测结果类型目录——新项目codecoverage类型目录——。\ node_modules \。bin \摩卡——递归“测试/ * * / * .spec.js”- r mocha-junit-reporter——reporter-options mochaFile = testresults / testresults.xml——。\ node_modules \。bin \伊斯坦布尔——include-all-sources盖根“路线”node_modules /摩卡/ bin / _mocha——- r spec-xunit-file——递归“测试/ * * / * .spec.js”——。\ node_modules \。bin \ cobertura - dir codecoverage -伊斯坦布尔报告save_tests testresults/testresults.xml onSuccess: - send_notification mySlack "build completed"
  • 没有标签
版权所有©2023 JFrog Ltd.