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





概述

DistributeReleaseBundle原生步触发a的分布发布包到一个人工边缘节点.此步骤需要签名的发布包和一个或多个发布规则才能成功执行

页面内容


YAML模式

distributerreleasebundle原生步骤的YAML模式如下:

DistributeReleaseBundle
- name: my_distribute type: DistributeReleaseBundle配置:#从bash继承所有的标签;//m.si-fil.com/confluence/display/JFROG/Bash dryRun: <布尔> #可选inputResources: -名2022世界杯阿根廷预选赛赛程称:my_releaseBundle #需要一个ReleaseBundle触发:错:名称:my_distributionRule #需要一个DistributionRule触发:假#默认真outputResources: -名称:my_releaseBundleOutput # ReleaseBundle是可选执行:onStart: -回声“准备工作…”调用onSuccess: - echo”工作做得好!”onFailure:——回声onComplete“哦哦,事情错了”:#always - echo“清理一些东西”

标签

名字

一个字母数字标识步骤的字符串(允许使用下划线)。

类型

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

配置

指定步骤执行环境的所有配置选择。此步骤继承Bash/PowerShell步骤配置标签,包括这些相关的标签:

标签

使用说明

必需的/可选

input2022世界杯阿根廷预选赛赛程Resources

必须指定ReleaseBundle资源和一个DistributionRule资源。

要求
output2022世界杯阿根廷预选赛赛程Resources 可以指定ReleaseBundle属性更新的资源名字版本输入的ReleaseBundle 可选


此外,可以定义这些标签来支持步骤的本机操作:

从Bash派生的标签

所有本地步骤都派生自Bash的一步。这意味着所有步骤都共享来自Bash的相同基本标记集,而本机步骤也有自己的附加标记,这些标记支持步骤的特定功能。所以熟悉这个很重要Bash步骤定义,因为它是所有其他步骤定义的核心。

标签

使用说明

必需的/可选
dryRun

控制这是否应该作为试运行,以测试发布包是否可以分发到与分发规则匹配的边缘节点。

默认为true。

可选

执行

声明要在执行前和执行后阶段执行的shell命令序列的集合:

标签 使用说明 必需的/可选
onStart 在本机操作之前执行的命令 可选
调用onSuccess 成功完成时执行的命令 可选
onFailure 完成失败时执行的命令 可选
onComplete 在任何补全时执行的命令 可选


执行的操作onExecute阶段是此步骤类型所固有的,并且不能被覆盖。


例子

下面的示例展示了如何配置distributerreleasebundle步骤来分发或进行演练。

分发输入释放束边缘节点

将输入释放包分发到分发规则中定义的边缘节点。

DistributeReleaseBundle
template: true #本地模板需要valuesFilePath: ./values。资源:#2022世界杯阿根廷预选赛赛程构建信息的第一个构建到bundle - name: gosvc_promoted_build_info类型:BuildInfo配置:sourceArtifactory: {{. values。myArtifactoryIntegration}} buildName: svc_build buildNumber: 1 #构建第二个构建到bundle的构建信息-名称:appl_promoted_build_info类型:BuildInfo配置:sourceArtifactory: {{. values . demoartifactoryintegration}} buildName: backend_build buildNumber: 1 #发布bundle -名称:release_bundle类型:ReleaseBundle配置:sourceDistribution: {{. values。名称:demo_rb版本:v1.0.0 #相同发布包的签名版本-名称:signed_bundle类型:ReleaseBundle配置:sourceDistribution: {{. values。distributionIntegration}} name: demo_rb版本:v1.0.0 #分布规则- name: distribution_rules类型:DistributionRule配置:sourceDistribution: {{. values . value . value . value . value . value . value . value . value . value . value . value . value . value . value . value . value . value . value . value . value。distributionIntegration}} serviceName: "*" siteName: "*" cityName: "*" countryCodes: - "CN" - "GB" pipelines: - name: demo_release_mgmt steps: - name: bundle类型:CreateReleaseBundle配置:releaseBundleName: demo_rb releaseBundleVersion: v1.0。${run_number} dryRun: false sign: false description: "一些随机测试描述" inputResources: - name: g2022世界杯阿根廷预选赛赛程osvc_promoted_build_info trigger: true - name: appl_promoted_build_info trigger: true outputResources: - name: release_bundle releaseNotes: syntax: markdown content: | ## Heading * Bullet * Points - name: sign type: SignReleaseBundle configuration: inputResources: - name: release_bundle outputResources: - name: release_bundle outputResources: - name: signed_bundle - name: distribute type: distributerreleeasebundle配置:dryRun: false input2022世界杯阿根廷预选赛赛程Resources:—name: signed_bundle—name: distribution_rules

触发演练

触发分发的试运行。

DistributeReleaseBundle
pipeline:—name: distributerreleaseebundlepipeline步骤:—name: distributerreleaseebundledryrun类型:distributerreleaseebundle配置:dryRun: true inputResources:—name: myR2022世界杯阿根廷预选赛赛程eleaseBundle—name: myInputDistributionRule

触发分发和更新输出资源

触发分发并使用输入的名称和版本更新输出资源。

DistributeReleaseBundle
- name: distributerreleaseebundlepipeline步骤:- name: distributerreleaseebundledryrun类型:distributerreleaseebundle配置:dryRun: false inputResources: - name: myReleas2022世界杯阿根廷预选赛赛程eBundle - name: myInputDistributionRule outputResources: - name: myOutputReleaseBundle

排练和分发的步骤相同

在这个例子中,同样的步骤被用于演练和分发发布包到边缘节点。dry_run变量可以在管路配置部分步配置或作为运行变量由管道中的前一步添加,使用add_run_variable

DistributeReleaseBundle
管道:—名称:distributerreleaseebundlepipeline步骤:—名称:distributerreleaseebundlestep类型:distributerreleeasebundle配置:dryRun: ${dry_run} inputResources:—名称:myReleaseBundle—名称2022世界杯阿根廷预选赛赛程:myInputDistributionRule

它是如何工作的

当你使用DistributeReleaseBundle它是管道中的原生步骤,在后台执行以下功能:

  • 创建分发有效负载(将出现在分发请求中的JSON对象)
  • curl $distributionUrl/api/v1/distribution/$releaseBundleName/$releaseBundleVersion(发送分发版或演练负载到分发版)
  • curl $distributionUrl/api/v1/release_bundle/$releaseBundleName/$releaseBundleVersion/distribution/$trackerId(如果不是试运行,使用distribution返回的跟踪器ID,检查发行是否完成)
  • write_output(更新输出的ReleaseBundle资源)
  • 没有标签
版权所有©2023 JFrog Ltd.