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





概述

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

该管道演示了以下内容:

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

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

页面内容


开始之前

在尝试快速入门之前,请确保您具备:


运行本例

执行下面的步骤来运行这个管道:

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

  2. 添加集成

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

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

  3. Fork GitHub repository

    此示例的管道DSL可在jfrog-pipelines-cd-sample存储库中的JFrogGitHub帐户。

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

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

  4. 更新values.yml

    管道配置可在values.yml文件。如有需要,编辑这个文件在这个repo的分支中替换以下内容:

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

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

  5. 添加管道源

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

    1. 在左侧导航栏中,转到管理|管道|管道源.点击添加管道源然后选择从YAML.按照以下说明添加管道源

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

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



  6. 执行管道

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



pipelines.yml

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

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

这个例子使用了以下类型的2022世界杯阿根廷预选赛赛程

BuildInfo

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

JFrog Pipelines自动创建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 Pipelines环境中的所有存储库中必须是唯一的。

要求

sourceArtifactory

myArtifactory名字是Artifactory集成

要求
buildName

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

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

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



ReleaseBundle

一个ReleaseBundle资源在Artifactory中指定一组工件,这些工件作为组件分发到Artifactory Edge节点JFrog发布包

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

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

标签

描述

必需的/可选

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

的名称分布的集成

要求
版本

发布包的版本号。

要求


DistributionRule

一个DistributionRule资源是可应用于的目标规则集发布一个发布包使用JFrog发行版。

2022世界杯阿根廷预选赛赛程
—名称:distribution_rules类型:DistributionRule配置:sourceDistribution: {{. values。distributionIntegration}} serviceName: "*" siteName: "*" cityName: "*" countryCodes: - "*"

标签

描述

必需的/可选

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

管道

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

步骤

cd_demo_release_mgmt管道由以下本机组成步骤

CreateReleaseBundle

CreateReleaseBundle原生步骤产生发布包分发给人工边缘节点.该步骤可用于创建有签名或无签名发布包。

步骤
—名称:bundle类型:createrelasebundle配置:releaseBundleName: demo_rb releaseBundleVersion: v1.0。${run_number} dryRun: false sign: false description: "一些随机的测试描述" inputResources: - name: 2022世界杯阿根廷预选赛赛程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

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

默认是真实的。

可选
标志

指定是否对发布包版本进行签名。

默认为false。

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

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

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

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

可选

SignReleaseBundle

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

步骤
—name:标识类型:SignReleaseBundle配置:inputResources:—name: rele2022世界杯阿根廷预选赛赛程ase_bundle outputResources:—name: signed_bundle

标签

使用说明

必需的/可选

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

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

此步骤接受release_bundle,它是ReleaseBundle资源inputResource

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

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

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

要求


DistributeReleaseBundle

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

步骤
—name:分布式类型:DistributeReleaseBundle配置:dryRun: false inputResources:—name: signed_bu2022世界杯阿根廷预选赛赛程ndle—name: distribution_rules . properties

标签

使用说明

必需的/可选

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

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

默认为true。

可选
  • 没有标签
版权所有©2023 JFrog Ltd.