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





概述

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


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

使用


PowerShell
pipelines:—name:  steps:—name:  type: PowerShell configuration: affinityGroup: bldGroup priority: <[0-10000]> timeoutSeconds:  timeoutSeconds: < nodePool: < nodePool的名称>时间顺序: environmentVariables: env1:  env2:  env3: default:  description:  values:  allowCustom:  integrations:—name: <集成名称> inputSteps:—name: <步骤名称> inputResources:—name: <资源名称> tr2022世界杯阿根廷预选赛赛程igger: # default true branch:  #参见下面的默认值描述outputResources: - name: <资源名> 2022世界杯阿根廷预选赛赛程branch:  #参见下面的默认值描述runtime: type:  image: auto: language: versions: custom: name: tag: options: registry:  #可选的私有注册表集成sourceRepository:  #如果注册表是Artifactory则必须。例如,如果注册表是AWS,则docker-local区域:#是必需的。例如:us-east-1 autoPull:  #默认为true;在运行执行之前拉图像:onStart: - echo“准备工作…”onExecute: - echo“执行任务命令1”- echo“执行任务命令2”onSuccess: - echo“工作做得好!”onFailure: - echo“呃哦,出错了”onComplete: #always - echo“清理一些东西”
页面内容

标签

的名字

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

类型

必须PowerShell对于这个步骤类型。

配置

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

标签

使用说明

必需的/可选
affinityGroup 控制与节点的关联的标签。具有相同affinityGroup的所有步骤将在同一节点上执行。这将允许在步骤之间共享状态。举个例子,DockerBuild和DockerPush步骤在一个Pipeline中拥有相同的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运行时configuration)被用来代替JFrog管线打包的版本。不建议这样做,本机步骤可能无法与本地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:示例变量值:—value2—value3 allowCustom: false runtime: type: image image: auto: language:节点版本:—“10.18”inputResources:—name: src integrations:—na2022世界杯阿根廷预选赛赛程me: 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"
  • 没有标签
版权所有©2022 JFrog Ltd.