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





概述

PromoteBuild本机步骤提升BuildInfo,并将相关工件从一个Artifactory存储库移动或复制到另一个。


此步骤需要一个BuildInfo资源作为成功执行的输入。
页面内容


YAML模式

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

PromoteBuild
管道:- name: 步骤:- name: 类型:PromoteBuild配置:#继承所有的标签从bash;//www.si-fil.com/confluence/display/JFROG/Bash targetRepository:  includeDependencies:  # default false status:  comment:  copy:  input2022世界杯阿根廷预选赛赛程Resources: - name:  # required trigger: false outputResources: - name:  # required execution: onStart: - echo "Preparing for work…" onSuccess: - echo "Job well done!" onFailure: - echo "uh oh, something went wrong" onComplete: #always - echo "清理一些东西"

标签

的名字

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

类型

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

配置

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

标签

使用说明

必需的/可选
input2022世界杯阿根廷预选赛赛程Resources 必须指定一个命名的BuildInfo资源的buildName而且buildNumber属性标识要提升的构建 要求
output2022世界杯阿根廷预选赛赛程Resources 必须指定一个命名的BuildInfo资源映射到提升的构建。BuildInfo将被更新buildName而且buildNumber输入BuildInfo资源的targetRepo价值是targetRepository 要求


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

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

标签

使用说明

必需的/可选
targetRepository 在Artifactory中要将构建提升到的存储库的名称。 要求
includeDependencies

当设置为true时,升级将包括构建依赖项。

默认为false。

可选
状态 要将构建提升到的状态名称。 可选
评论 评论包括促销。 可选
复制

当设置为true时,将工件复制到targetRepository,而不是将它们移动到targetRepository。

默认为false。

可选

执行

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

标签

使用说明

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


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


例子

下面的示例展示如何配置PromoteBuild步骤。

向Artifactory推广Build

将由输入BuildInfo指定的构建提升到名为docker-prod-local.在这个例子中,触发设置为使该步骤不会被自动触发。

PromoteBuild
#这个配置文件是模板化的,这样可以很容易地自定义。值可以用值来提供。yml文件。模板:true #需要本地模板—名称:2022世界杯阿根廷预选赛赛程app_repo类型:GitRepo配置:gitProvider: {{. values . yml资源:—名称:app_repo类型:GitRepo配置:gitProvider: {{. values . xmlgetintegration}}路径:{{. values。gitRepositoryPath}}分支:包括:master - name: app_buildinfo type: BuildInfo配置:sourceArtifactory: {{. values。artifactoryIntegration}} - name: app_promoted_buildinfo类型:BuildInfo配置:sourceArtifactory: {{. values。artifactoryIntegration}}管线:—name: app_dev_pipeline_su204步骤:—name: app_build type: DockerBuild configuration: affinityGroup: docker_group dockerFileLocation:。dockerFileName: Dockerfile dockerImageName: {{. values。artifactoryUrl}}/{{. values。sourceRepository}}/{{. values。imageName}} dockerImageTag: ${run_number} inputR2022世界杯阿根廷预选赛赛程esources:—name: app_repo integrations:—name: {{. values。artifactoryIntegration}} - name: app_push类型:DockerPush配置:affinityGroup: docker_group targetRepository: {{. values . name: app_push类型:DockerPush配置sourceRepository}}集成:- name: {{. values . properties:artifactoryIntegration }} inputSteps: - name: app_build - name: publish_app_build type: PublishBuildInfo configuration: affinityGroup: docker_group inputSteps: - name: app_push outputResources: - name: app_buildinfo - name: xrayScanStep type: XrayScan configuration: inputResources: - name: app_buildinfo - name: app_prod_pipeline_su204 steps: - name: app_promote_build type: PromoteBuild configuration: targetRepository: {{ .Values.prodRepository }} inputResources: - name: app_buildinfo trigger: false outputResources: - name: app_promoted_buildinfo - name: app_deploy type: Bash configuration: integrations: - name: {{ .Values.artifactoryIntegration }} inputResources: - name: app_promoted_buildinfo execution: onStart: - jfrog rt docker-pull {{ .Values.artifactoryUrl }}/{{ .Values.prodRepository }}/{{ .Values.imageName }}:$res_app_promoted_buildinfo_buildNumber {{ .Values.prodRepository }} #- jfrog rt dl prod-go-local/app #- ls -latr onExecute: - docker run {{ .Values.artifactoryUrl }}/{{ .Values.prodRepository }}/{{ .Values.imageName }}:$res_app_promoted_buildinfo_buildNumber

用状态和评论推广构建

使用状态和注释促进构建。

PromoteBuild
管道:- name: promoteBuildPipeline步骤:- name: promoteBuildStep类型:PromoteBuild配置:targetRepository: my-promoted-builds状态:TEST注释:"由run number ${run_number}提升"集成:- name: artifactory_integration inputResources: - name: inputBuildInfo触发器:false outputResources: - nam2022世界杯阿根廷预选赛赛程e: outputBuildInfo

推广构建和复制

在这个例子中,当构建被提升时,它会被复制,这样副本就会保留在先前的存储库中,依赖项也会被复制。

PromoteBuild
管道:—name: promoteBuildPipeline步骤:—name: promoteBuildStep类型:PromoteBuild配置:targetRepository: my-promote -builds includeDependencies: true拷贝:true集成:—name: artifactory_integration inputResources:—name: inputBuildInfo触发器:false outputRe2022世界杯阿根廷预选赛赛程sources:—name: outputBuildInfo

工作原理

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

  • jfrog rt配置(使用BuildInfo输入中的凭据配置jfrog CLI)
  • Jfrog rt建设-促进
  • write_output(更新输出BuildInfo资源)
  • 没有标签
版权所有©2022 JFrog Ltd.