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







概述

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

这个管道演示了以下内容:

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

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

页面内容


开始之前

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


运行这个例子

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

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

  2. 添加集成

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

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

  3. Fork GitHub仓库

    本例的管线DSL可在jfrog-pipelines-cd-sample存储库中的JFrogGitHub帐户。

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

    Fork这个存储库到您的帐户或组织。这很重要,因为您需要对作为Pipeline Sources或GitRepo资源使用的存储库进行管理访问,这是向这些存储库添加webhook并侦听更改事件所必需的。2022世界杯阿根廷预选赛赛程

  4. 更新values.yml

    管道配置可在values.yml文件。如有需要,eDit这个文件在本次回购的fork中,替换以下内容:

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

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

  5. 添加管道源

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

    1. 在左侧导航栏中,转到管理|管道|管道源.点击添加管道源然后选择从YAML.遵照指示添加管道源

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

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



  6. 执行管道

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



pipelines.yml

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

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

本例使用以下类型的2022世界杯阿根廷预选赛赛程

BuildInfo

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

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

2022世界杯阿根廷预选赛赛程
#构建到bundle的构建信息-名称:gosvc_promoted_build_info类型:BuildInfo配置:sourceArtifactory: {{. values。artfactoryintegration}} 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中的一组工件,这些工件作为a分布到Artifactory Edge节点JFrog分发发布包

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

2022世界杯阿根廷预选赛赛程
—name: release_bundle type: ReleaseBundle configuration: sourceDistribution: {{. values。distributionIntegration}}名称: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是可以应用到的目标规则的集合分发发布包使用JFrog分发。

2022世界杯阿根廷预选赛赛程
—name: distribution_rules type: DistributionRule配置: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_mgmt管道由以下本机组成步骤

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: | ##标题*项目*要点

标签

使用说明

必需的/可选

的名字 该名称是否标识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: 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更新了的名字而且版本输入ReleaseBundle的属性release_bundle,并设置isSigned属性为true。

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

要求


DistributeReleaseBundle

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

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

标签

使用说明

必需的/可选

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

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

默认为true。

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