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





概述

这个管道演示了构建和发布npm包的简单管道的定义。一个示例管道DSL用于展示如何使用集成、资源和步骤来构造一个简单的自动化工作流。2022世界杯阿根廷预选赛赛程

这个例子显示了以下内容:

页面内容

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


开始之前

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

  • GitHub账户。这是分叉示例存储库所必需的。
  • 一个卡塔尔世界杯赛程时间表 账户,或自托管JFrog管道
  • 将Artifactory设置为npm注册表。创建三个存储库:
    • 一个远程NPM注册表远程存储库在Artifactory中定义的,作为在远程URL上管理的注册中心的缓存代理,例如https://registry.npmjs.org。从远程存储库请求的工件(如TGZ文件)将按需缓存。
    • 本地npm注册表。
    • 一个虚拟NPM注册表。Artifactory中定义的虚拟存储库聚合来自本地和远程存储库的包。这允许你从为虚拟存储库定义的单个URL访问本地托管的npm包和远程代理的npm注册表。
      在添加虚拟npm注册表时,确保远程和本地npm注册表都被选中,并且默认部署存储库被设置为本地npm注册表。

  • 至少一个节点池。这是所有管道步骤将在其中执行的节点集。有关更多信息,请参见管理管道节点池

运行本例

执行以下步骤来构建和推送你的npm镜像:

  1. Fork存储库

    此示例的管道DSL可在npm-example存储库中的JFrogGitHub帐户。

    DSL文件是一个包含管道定义的yaml文件。这个例子使用了两个yaml文件:

    • pipelines.yml,其中包含运行管道所需的所有资源和工作流步骤的声明。2022世界杯阿根廷预选赛赛程
    • values.yml,其中包含管道所需的值。yml文件。

    有关yml文件中使用的所有资源、管道和步骤的完整分解,请参见2022世界杯阿根廷预选赛赛程pipelines.yml下面的部分。

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

  2. 登录Artifactory

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

  3. 添加集成

    a.去政府|管道|集成添加两个集成

    • GitHub集成此集成用于添加Pipeline源,以及定义在values.yml
    • Artifactory集成这个集成用于对Artifactory进行身份验证,以便从Artifactory下载npm依赖项,并打包并上传构建的包到Artifactory。

    b.写下GitHub和Artifactory集成的名称,因为这些是必需的下一个步骤。确保名字是唯一的,容易记住。

  4. 更新的值。Yml和pipelines.yml

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

    标签 描述 例子

    gitProvider

    提供在上一步中添加的Github集成的名称。

    gitProvider: my_github

    路径

    提供此存储库分支的路径。

    路径:myuser /工程实例


    编辑pipelines.yml将以下文件归档并替换:

    标签 描述 例子

    sourceArtifactory

    提供您的人工集成。

    sourceArtifactory:艺术

    repositoryName

    在Artifactory中提供npm存储库的名称。

    repositoryName: npm-virtual

    所有管道定义都是全局的JFrog管道在一个项目中。管道和资源的名称在内部必须是唯一的2022世界杯阿根廷预选赛赛程项目简介JFrog管道。

  5. 添加管道源

    管道来源表示存储管道定义文件的git存储库。管道源通过类连接到存储库集成,这是我们在步骤3中添加的。

    在左侧导航栏中,转到管理|管道|管道源。点击添加管道源然后选择从YAML。按照以下说明添加管道源这会自动将您的配置添加到平台中,并根据您的YAML创建管道。

  6. 执行管道

    成功同步管道源后,导航到管道|我的管道在左侧导航栏中可以看到新添加的管道。在这个例子中,npm_example_pipeline_jfp是我们管道的名称。单击管道的名称。这将呈现管道的实时、交互式图表及其最近运行的结果。

    您可以通过向存储库提交更改来触发管道,或者通过UI手动触发管道。管道中的步骤按顺序执行。如果节点池中有多个可用的构建节点,则可以并行执行多个步骤。

    一旦管道完成,就会列出新的运行。





pipelines.yml

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

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

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

GitRepo

一个GitRepo资源用于将JFrog pipeline连接到源代码控制存储库。将它添加到repo中会创建一个webhook,这样以后提交时就会自动创建一个带有webhook有效负载的新版本。

2022世界杯阿根廷预选赛赛程
—名称:npm_example_repo_jfp类型:GitRepo配置:存储库所在的# SCM集成gitProvider: {{. values . myrepo . jfp#存储库路径,包括org名称/repo名称路径:{{. values . myrepo。路径}} branches: # Specifies which branches will trigger dependent steps include: master

标签

描述

必需的/可选
名字

npm_example_repo_jfp名字是GitRepo资源,指向包含构建映像所需的yaml文件和其他源代码的存储库。

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

要求

gitProvider

的名字GitHub集成。它的值是检索自values.yml文件。 要求
路径 从集成根目录到存储库的路径。它的值是检索自values.yml文件。 要求
分支机构
  • 包括——(可选)包含repo分支的正则表达式
  • 排除——(可选)从repo中排除分支的正则表达式

包括:主标记表明GitRepo资源正在监听主分支。

可选



BuildInfo

BuildInfo时自动创建的NpmBuild步骤用于生成包。然后将BuildInfo发布到已配置的Artifactory仓库(sourceArtifactory: demoArt)中提供的资源NpmPublish的一步。

2022世界杯阿根廷预选赛赛程
—名称:npm_example_buildinfo_jfp类型:BuildInfo配置:sourceArtifactory: demoArt

标签

描述

必需的/可选
名字

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

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

要求

sourceArtifactory

的名字Artifactory集成。它的值是检索自values.yml文件。

要求

管道

npm_example_pipeline_jfp管道的名称,其中包含运行管道的步骤。

步骤

npm_example_pipeline_jfp管道包含以下内容本机的步骤

NpmBuild

NpmBuild原生步骤构建NPM源代码。此步骤自动执行npm-install在Git存储库中的源代码。

步骤
—名称:npm_build_step类型:NpmBuild配置:repositoryName: npm-virtual # required, npm库名称。sourceLocation: ./npm-example # required,包所在位置。—名称:demoArt # required inputResources:—名称:npm_example_re2022世界杯阿根廷预选赛赛程po_jfp # required

标签

使用说明

必需的/可选

名字 npm_build_step名字这标识了步骤。
这是将该步骤作为输入分配给下一步npm_publish_step时使用的名称。
要求
repositoryName npm-virtual是Artifactory中npm存储库的名称。 要求
sourceLocation 。/ npm-example目录,其中包含package.json文件,相对于GitRepo路径 要求
集成 指定一个Artifactory集成模块将在其中发布。中指定了FileSpec资源input2022世界杯阿根廷预选赛赛程Resources这是可选的。否则,它是必需的。 可能需要
input2022世界杯阿根廷预选赛赛程Resources

必须指定一个GitRepo资源。的npm-install运行在Git存储库位于sourceLocation

此步骤接受npm_example_repo_jfp,它是GitRepo资源inputResource

要求

可选


NpmPublish

NpmPublish步骤将npm包发布到Artifactory中的注册表NpmBuild的一步。

步骤
-名称:npm_publish_step类型:NpmPublish配置:# for payloadType npm: repositoryName: npm-virtual # required, npm在artifactory上的存储库名称autoPublishBuildInfo: true #可选集成:-名称:demoArt # required inputSteps: -名称:npm_build_step # required outputResources: -名称:npm_example_buildinfo_jfp # optional2022世界杯阿根廷预选赛赛程

标签

使用说明

必需的/可选

名字 npm_publish_step名字这标识了步骤。 要求
repositoryName

npm-virtual要在Artifactory中发布的npm存储库的名称。

要求
autoPublishBuildInfo

当设置为true时,将构建信息发布到Artifactory。默认为false。

发布后,可以在Artifactory中查看构建信息,在构建浏览器中查看构建信息。

可选
集成 必须指定Artifactory集成 要求
inputSteps

必须指定一个命名NpmBuildBash的一步。

npm_build_step名字是NpmBuild的一步。

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

必须指定BuildInfo资源如果autoPublishBuildInfo设置为true。

npm_example_buildinfo_jfp指定为outputResource

可能需要
  • 没有标签
版权所有©2022 JFrog Ltd.