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





概述

CreateReleaseBundle原生步骤是否产生发布包分发给人工边缘节点该步骤可用于创建有签名或无签名发布。当标志标记设置为真正的在您的yaml中,此步骤保存工件信息以支持签名管道。

页面内容


YAML模式

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

CreateReleaseBundle
- name: 步骤:- name: 类型:CreateReleaseBundle配置:#从bash继承所有标签;//m.si-fil.com/confluence/display/JFROG/Bash releaseBundleName:  releaseBundleVersion:  dryRun:  # default true sign:  # default false description:  # optional failOnValidate:  # optional (Signed Pipelines必须启用)releaseNotes: # optional content:  # "markdown|asciidoc|plain_text" syntax:  # required in releaseNotes inputResources: - 2022世界杯阿根廷预选赛赛程name:  #一个或多个BuildInfo,或- name: # one Aql outputResourc2022世界杯阿根廷预选赛赛程es: - name:  execution: onStart: - echo "Preparing for work…" onSuccess: - echo "Job well done!" onFailure: - echo "uh oh, something出错了" onComplete: #always - echo " cleanup up some stuff"

标签

名字

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

类型

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

配置

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

标签

使用说明

必需的/可选

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

必须指定要么一个命名BuildInfo资源(年代)一个Aql资源。CreateReleaseBundle步骤不接受其他输入资源。2022世界杯阿根廷预选赛赛程

如果BuildInfoinput2022世界杯阿根廷预选赛赛程Resources则使用?构造发布包的查询buildNamebuildNumber,targetRepo的每个BuildInfo输入。

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

必须指定一个ReleaseBundle资源。

名字版本,isSigned输出ReleaseBundle中的设置被更新为步骤releaseBundleNamereleaseBundleVersion,标志值(或替换这些值的环境变量占位符的任何环境变量值)。

要求


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

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

标签

使用说明

必需的/可选
releaseBundleName 发布包的字母数字名称 要求
releaseBundleVersion 发布包的版本字符串 要求
dryRun

当设置为真正的解析和验证仅用于测试是否可以创建一个发布包版本。

默认是真实的。

可选
标志

指定是否将发布包版本作为此步骤的一部分进行签名。

默认为false。

GPG签名密钥密码

当配置符号= true,当你的发行发行包GPG签名密钥如果密码受保护,请在创建/更新您的密码时提供GPG签名密钥密码分布的集成

可选
描述 发布包的描述 可选
releaseNotes

描述发布包版本的发布说明。

语法指定发行说明的格式:plain_text减价,或asciidoc。默认是plain_text

内容是指定语法格式的发行说明字符串。使用|表示保留换行符的字符串的字符。

可选
failOnValidate

的签名之一,则步骤失败BuildInfo无法验证输入资源工件。

默认是

可选的(签署了管道必须启用)

执行

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

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


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


例子

下面的示例展示了为几个不同的发布包配置哪些设置。

使用BuildInfo资源创建的未签名发布包

使用BuildInfo资源创建的一个简单的、未签名的发布包。在这种情况下,发布包版本将是运行号,没有描述或发布说明。

CreateReleaseBundle
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

创建并签署发布包

创建并立即签署一个发布包,将描述和发布说明添加到发布包中。

CreateReleaseBundle
管道:-名称:createReleaseBundlePipeline步骤:-名称:createReleaseBundleStep类型:CreateReleaseBundle配置:releaseBundleName: myReleaseBundle releaseBundleVersion: "${run_number}" dryRun: false sign: true description: "My release bundle" releaseNotes:语法:plain_text内容:" release of ${run_number} by ${step_name}" inputResources: - name: myBuildInfo outputResources: - 2022世界杯阿根廷预选赛赛程name: myReleaseBundle

触发演练

触发发布包创建的试运行。不会创建任何发布包。

CreateReleaseBundle
-名称:createReleaseBundlePipeline步骤:-名称:createReleaseBundleStep类型:CreateReleaseBundle配置:releaseBundleName: myReleaseBundle releaseBundleVersion: "${run_number}" dryRun: true inputResources: -名称:myBuildInfo outputResource2022世界杯阿根廷预选赛赛程s: -名称:myReleaseBundle

它是如何工作的

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

  • Jfrog rt config(在输入资源中使用集成配置cli)
  • jfrog rt curl(获取Artifactory service_id)
  • validate_artifact(使用带签名的管道特性来验证传入的BuildInfo)
  • 创建发布包创建有效负载(将在分发请求中的JSON对象)
  • curl(将发布包创建负载发送到Distribution)
  • write_output(更新输出的ReleaseBundle资源)
  • Save_artifact_info(如果bundle已签名,则保存数据以便与已签名的管道一起使用)
  • 没有标签
版权所有©2023 JFrog Ltd.