JFrog帮助中心

我们的新传送门很快就要来了!
文档+知识库





JFrog帮助中心-一个全新的知识体验即将到来!



概述

DistributeReleaseBundle本机步骤触发的分布发布包到一个Artifactory边缘节点.此步骤需要一个已签名的发布包和一个或多个分发规则才能成功执行

页面内容


YAML模式

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

DistributeReleaseBundle
- name:  steps: - name: my_distribute type: DistributeReleaseBundle configuration: #从bash继承所有标签;//www.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

控制这是否应该是一次演练,以测试发布包是否可以分发到匹配分发规则的Edge节点。

默认为true。

可选

执行

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

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


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


例子

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

分发输入发布包边缘节点

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

DistributeReleaseBundle
模板:true #需要本地模板yml资2022世界杯阿根廷预选赛赛程源:#第一次构建到bundle的构建信息-名称:gosvc_promoted_build_info类型:BuildInfo配置:sourceArtifactory: {{. values。myArtifactoryIntegration}} buildName: svc_build buildNumber: 1 #第二次构建到bundle的构建信息- name: appl_promoted_build_info类型:BuildInfo配置:sourceArtifactory: {{. values . demoartifactoryintegration}} buildName: backend_build buildNumber: 1 #发布包- name: release_bundle类型:ReleaseBundle配置:sourceDistribution: {{. values . demoartifactoryintegration。distributionIntegration}} name: demo_rb version: v1.0.0 #同一个发布包的签名版本- name: signed_bundle type: ReleaseBundle configuration: sourceDistribution: {{. values . #distributionIntegration}}名称:demo_rb版本:v1.0.0 #分发规则-名称:distribution_rules类型:DistributionRule配置:sourceDistribution: {{. values . value . {{. distribution_rulesdistributionIntegration}} serviceName: "*" siteName: "*" cityName: "*" countryCodes: - "CN" - "GB" pipelines: - name: demo_release_mgmt steps: - name: bundle type: CreateReleaseBundle configuration: releaseBundleName: demo_rb releaseBundleVersion: v1.0。${run_number} dryRun: false sign: false description: "some random test description" input2022世界杯阿根廷预选赛赛程Resources: - name: gosvc_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: signed_bundle - name: distribution type: DistributeReleaseBundle configuration:dryRun: false input2022世界杯阿根廷预选赛赛程Resources:—name: signed_bundle—name: distribution_rules

启动预演

触发发行版的演练。

DistributeReleaseBundle
管道:—name: distributeReleaseBundlePipeline步骤:—name: distributeReleaseBundleDryRun类型:DistributeReleaseBundle配置:dryRun: true inputResources:—name: myReleaseBundle2022世界杯阿根廷预选赛赛程—name: myInputDistributionRule

触发分发并更新输出资源

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

DistributeReleaseBundle
管道:—name: distributeReleaseBundlePipeline步骤:—name: distributeReleaseBundleDryRun类型:DistributeReleaseBundle配置:dryRun: false inputResources:—name: myReleaseBundle2022世界杯阿根廷预选赛赛程—name: myInputDistributionRule outputResources:—name: myOutputReleaseBundle

同样的步骤为演练和分配

在这个例子中,相同的步骤用于两个干运行,并将发布包分发到边缘节点。dry_run变量可以在管道配置部分步配置或由管道中的较早步骤使用添加为运行变量add_run_variable

DistributeReleaseBundle
管道:—name: distributeReleaseBundlePipeline步骤:—name: distributeReleaseBundleStep type: DistributeReleaseBundle配置:dryRun: ${dry_run} inputResources:—name: myReleaseBu2022世界杯阿根廷预选赛赛程ndle—name: myInputDistributionRule

工作原理

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

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