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





概述

该管道演示了一个简单管道的定义,该管道创建并签署一个发布包,并将其分发到Artifactory边缘节点。一个pipeline DSL示例用于展示如何使用集成、资源和步骤来构造一个简单的自动化工作流。2022世界杯阿根廷预选赛赛程的任何更改都会触发该管道BuildInfo2022世界杯阿根廷预选赛赛程用于创建发布包的资源。

该管道演示了以下内容:

这个管道从管道示例:Docker构建和推送离开的。当该管道构建并推送Docker构建时,该管道从该示例中获取Buildinfo并创建发布包并将其分发到边缘节点。

在快速入门中,管道的成功运行是这样的:

页面内容


在你开始之前

在尝试这种快速开始之前,确保你已经:


运行这个例子

执行以下步骤来运行该管道:

  1. 登录
    用Artifactory证书登录JFrog平台。

  2. 添加集成

    1. 应用|管道|集成添加这些集成

      • GitHub集成:此集成用于添加Pipeline源。
        myGithub是本例中使用的GitHub集成的名称。
      • 分布的集成这个集成将您的JFrog Pipeline Automation平台连接到一个分发实例。
        myDist是本例中使用的分发集成的名称。
      • Artifactory集成:该集成用于与Artifactory进行身份验证,以获取包括Docker映像在内的工件,并维护构建信息。
        myArtifactory是本例中使用的Artifactory集成的名称。
    2. 写下Artifactory和Distribution集成的名称,因为它们是所需要的下一个步骤.确保名字是唯一的,容易记住。

  3. 叉GitHub库

    此示例的pipes DSL可在jfrog-pipelines-cd-sample库的JFrogGitHub帐户。

    DSL文件是一个包含管道定义的yaml文件。该示例使用了两个YAML文件,pipelines.yml而且values.yml.管道。Yml文件包含所有资源和工作流步骤的声明。2022世界杯阿根廷预选赛赛程的values.yml文件控件所需的值pipelines.yml文件。有关yml文件中使用的所有资源、管道和步骤的完整分解,请参见2022世界杯阿根廷预选赛赛程pipelines.yml下面的部分。

    叉这个存储库到你的账户或组织。这一点很重要,因为您需要管理访问被用作Pipeline Sources或GitRepo资源的存储库,这是向这些存储库添加web钩子并侦听更改事件所必需的。2022世界杯阿根廷预选赛赛程

  4. 更新values.yml

    管道配置可在values.yml文件。如果需要,e说这个文件在你方的本回购中替换以下内容:

    标签 描述 例子
    gitProvider 提供您在上一步中添加的Github集成的名称。 gitProvider: myGithub
    sourceArtifactory 提供你的Artifactory集成。 sourceArtifactory: myArtifactory
    sourceDistribution 提供分发集成。 sourceDistribution:myDist

    在JFrog管道中,所有管道名称都是全局的.您的管道和资源的名称在JFrog管道中必须是唯一的。2022世界杯阿根廷预选赛赛程

  5. 添加管道源

    管道来源代表Git repo,其中存储了我们的pipeline定义文件。管道源通过连接到存储库集成,这是在上一步添加的。

    1. 在左侧导航栏中,转到管理|管路|管路来源.点击添加管道源然后选择从YAML.按照指令添加一个管道源

    2. 管道源同步成功后,导航到管道|我的管道在左侧导航栏中看到新添加的管道。在这个例子中,cd_demo_release_mgmt是我们管道的名字。

    3. 单击管道的名称。这将呈现管道及其最新运行结果的实时交互式图表。



  6. 执行管道

    你现在可以承诺回购触发您的管道,或者手动触发它通过UI。管道中的步骤按顺序执行。如果节点池有多个可用的构建节点,则可以并行执行多个步骤。



pipelines.yml

pipelines.yml文件由资源、管道和步骤组成,如下图所示2022世界杯阿根廷预选赛赛程:

2022世界杯阿根廷预选赛赛程

的类型2022世界杯阿根廷预选赛赛程

BuildInfo

一个BuildInfo资源是与Artifactory中的构建相关联的元数据。

JFrog pipeline自动创建BuildInfo的任何构建步骤,如MvnBuildNpmBuildGradleBuild,或DockerBuild用于生成包。BuildInfo通过PublishBuildInfo步骤,通过在构建步骤中设置标志,或通过在步骤中提供该资源,如NpmPublishGoPublishModuleGoPublishBinary,DockerPush

2022世界杯阿根廷预选赛赛程
#构建包的构建信息-名称:gosvc_promoted_build_info类型:BuildInfo配置:sourceArtifactory: {{. values。artifactoryIntegration}} buildName: dbp_build buildNumber: 1

标签

描述

必需的/可选

的名字

gosvc_promoted_build_info名字是BuildInfo资源,与Artifactory中的构建相关联的元数据。

这个名称用于引用步骤中的资源,并且必须在JFrog pipeline环境中的所有存储库中唯一。

要求

sourceArtifactory

myArtifactory名字是Artifactory集成

要求
buildName

dbp_buildt要与BuildInfo关联的构建的名称。

dbp_build名字是Docker构建和推送管道

可选
buildNumber 要与BuildInfo关联的构建的编号。 可选



ReleaseBundle

一个ReleaseBundle资源指定Artifactory中的一组工件,这些工件作为JFrog发行发行包

此资源可用于CreateReleaseBundleDistributeReleaseBundle.此资源可用于表示两者已签名和未签名的发布包

2022世界杯阿根廷预选赛赛程
- name: release_bundle type: ReleaseBundle configuration: sourceDistribution: {{. values . name: release_bundle。名称:demo_rb版本号:v1.0.0- name: signed_bundle type: ReleaseBundle configuration: sourceDistribution: {{ .Values.distributionIntegration }} name: demo_rb version: v1.0.0

标签

描述

必需的/可选

的名字 release_bundle而且signed_bundleReleaseBundle2022世界杯阿根廷预选赛赛程资源。而release_bundle是发布包,signed_bundle是发布包的签名版本。 要求
sourceDistribution

myDist是分布的集成

要求
版本

发布包的版本号。

要求


DistributionRule

一个DistributionRuleresource是可应用的Destination规则集发布发布包使用JFrog分布。

2022世界杯阿根廷预选赛赛程
—name: distribution_rules type: DistributionRule configuration: sourceDistribution: {{. values。distributionIntegration}} serviceName: "*" siteName: "*" cityName: "*" countryCodes: - "*"

标签

描述

必需的/可选

的名字 distribution_rules名字是DistributionRule资源。 要求
sourceDistribution myDist是分布的集成 要求
带有通配符模式的Artifactory Edge Node服务名称。 要求
siteName 带有通配符模式的Artifactory Edge Node站点名称。 要求
某个 带有通配符模式的Artifactory Edge Node城市名称。 要求
countryCodes Artifactory Edge Node使用通配符模式进行国家编码。 要求

管道

cd_demo_release_mgmt该管道定义用于签署发布包并将其发布到Artifactory边缘节点。

步骤

cd_demo_release_mgmtPipeline由以下原生程序组成步骤

CreateReleaseBundle

CreateReleaseBundle原生步骤产生发布包分发给Artifactory边缘节点.该步骤可用于创建已签名或未签名版本包。

步骤
- 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: false outputResources: - name: release_bundle releaseNotes: syntax: markdown content: | ## Heading * Bullet * Points

标签

使用的描述

必需的/可选

的名字 标识的名称是CreateReleaseBundle的一步。 要求
input2022世界杯阿根廷预选赛赛程Resources

必须指定要么一个命名BuildInfo资源(年代)一个Aql资源。

如果BuildInfoinput2022世界杯阿根廷预选赛赛程resources时,对发布包的查询是使用buildNamebuildNumber,targetRepo的每个BuildInfo输入。

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

必须指定一个ReleaseBundle资源。

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

要求
releaseBundleName 发布包的字母数字名称。demo_rb是本例中使用的名称。 要求
releaseBundleVersion 版本包的版本字符串 要求
dryRun

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

默认是真实的。

可选
标志

指定版本包版本是否已签名。

默认是假的。

可选
storeAtSourceArtifactory 控制是否在源Artifactory中存储发布包版本同时签署。 可选
描述 发布包的描述。 可选
releaseNotes

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

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

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

可选

SignReleaseBundle

SignReleaseBundle原生步骤签署一个发布包,准备将其分发到边缘节点。

步骤
—name: sign type: SignReleaseBundle configuration: inputR2022世界杯阿根廷预选赛赛程esources:—name: release_bundle outputResources:—name: signed_bundle

标签

使用的描述

必需的/可选

的名字 标志标识的名称是SignReleaseBundle的一步。 要求
input2022世界杯阿根廷预选赛赛程Resources

必须指定一个ReleaseBundle资源的的名字而且版本属性标识要签名的发布包。

这一步接受release_bundle,它是ReleaseBundle资源,作为inputResource

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

必须指定一个ReleaseBundle资源。这个ReleaseBundle是用的名字而且版本属性的输入ReleaseBundlerelease_bundle,并设置isSigned属性为true。

这一步指定signed_bundle,这是另一个ReleaseBundle资源,outputResource

要求


DistributeReleaseBundle

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

步骤
—name:分发类型:DistributeReleaseBundle配置:dryRun: false inputResources:—name: signed_bun2022世界杯阿根廷预选赛赛程dle—name: distribution_rules . properties

标签

使用的描述

必需的/可选

的名字 分布是标识DistributeReleaseBundle的一步。 要求
input2022世界杯阿根廷预选赛赛程Resources 必须指定一个ReleaseBundle资源(signed_bundle)和一个DistributionRule资源(distribution_rules) 要求
dryRun

控制是否应该进行试运行,以测试发布包是否可以分发到匹配分发规则的Edge节点。

默认为true。

可选
  • 没有标签
版权所有©2022 JFrog有限公司