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





概述

此管道演示了构建的简单管道的定义一个Go (GoLang)应用程序和Go模块。它通过一个管道DSL示例并显示如何使用集成、资源和步骤来构建简单的自动化工作流。2022世界杯阿根廷预选赛赛程


管道执行以下任务序列:

  • 创建一个Go“Hello World”应用程序GoBuild本机的一步
  • 将完成的Go二进制文件发布到ArtifactoryGoPublishBinary本机的一步
  • 将构建信息发布到ArtifactoryPublishBuildInfo本机的一步

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


页面内容

开始之前

在尝试这个例子之前,确保你有:

  • GitHub账户。这是分叉样例存储库所必需的。
  • 一个卡塔尔世界杯赛程时间表 账户,或自托管JFrog管道
  • 至少一个节点池。这是所有管道步骤将在其中执行的节点集。有关更多信息,请参见管理管道节点池。请注意,如果您有一个云帐户,节点池将作为您订阅的一部分已经可用。

运行本例

请按照以下步骤构建Go二进制文件:

  1. Fork存储库

    中提供了这个pipeline示例jfrog-pipelines-go-sample存储库中的JFrogGitHub帐户。配置包含在存储库根目录下的YAML文件中:
    • pipelines.yml,其中包含运行管道所需的所有资源和步骤的声明。2022世界杯阿根廷预选赛赛程该配置是以模板格式编写的,因此您不需要更改该文件中的任何内容。
    • values.yml,其中包含将填充到模板中以创建管道的自定义值
    Fork这个存储库到你的账户或组织。这一点很重要,因为你需要管理员访问管道中使用的存储库,以便我们能够向这些存储库添加webhook并侦听更改事件。

  2. 登录Artifactory

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

  3. 创建所需的Go存储库

    您需要创建以下存储库,这些存储库将在您的管道配置中使用:
    1. 本地化:本地Go语言存储库您的二进制文件将在哪里发布
    2. go-remote:远程Go语言存储库这个代理https://proxy.golang.org/
    3. 网络:虚拟Go语言存储库它聚合本地和远程存储库,并在管道定义中用于解析依赖项。文件中选择了本地和远程存储库存储库节,同时创建这个虚拟回购。

  4. 添加集成

    a.去政府|管道|集成添加两个集成
    • GitHub集成这个集成用于添加Pipeline源,以及GitRepo资源。
    • Artifactory集成此集成用于与Artifactory进行身份验证,以解析依赖项并将构建的二进制文件发布到Artifactory。
    b.写下GitHub和Artifactory集成的名称,因为这些是必需的下一个步骤。确保名字是唯一的,容易记住。

  5. 更新pipeline定义

    因为你pipelines.yml配置文件是模板化的,你可以直接更新values.yml按照下面的说明在您的分叉存储库中。

    标签 描述 例子
    gitProvider 提供在前面步骤(4)中添加的Github集成的名称。 gitProvider: myGithubIntegration
    repoPath 提供此存储库分支的路径。 repoPath: myuser / jfrog-pipelines-maven-sample
    artifactory 提供您在前面步骤(4)中添加的Artifactory集成的名称。 artifactory: myArtifactoryIntegration

    就是这样。您的配置已经准备好了!

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

  6. 添加管道源

    管道源表示存储管道定义文件的git存储库。管道源通过类连接到存储库集成,这是我们在第4步添加的。
    1. 在左侧导航栏中,转到管理|管道|管道源。点击添加管道源然后选择从YAML。按照以下说明添加管道源这会自动将您的配置添加到平台中,并根据您的YAML创建管道。
    2. 管道源同步成功后,导航到管道|我的管道在左侧导航栏中查看新添加的管道。在这个例子中,go_build_pipeline_example是管道的名称。

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

  7. 执行管道

    您可以通过向存储库提交更改来触发管道,或者通过UI手动触发管道。





  8. 年代uccess !

    您已经成功地执行了示例go应用程序管道!您可以通过查看管道创建的二进制文件和构建文件来验证结果。

    导航到应用|人工制品|工件你会在本地化存储库:


    导航到应用程序|工件|构建查看已发布的构建- - - - - -
    go_build_pipeline_example


管道定义说明

现在让我们看一下管道定义文件以及每个部分的含义。

pipelines.yml文件包含管道的模板化定义。这包括以下内容:

  • 2022世界杯阿根廷预选赛赛程资源是包含由管道步骤使用或生成的信息的实体。在我们的例子中,我们使用了以下资源:2022世界杯阿根廷预选赛赛程
    • 一个GitRepo资源,指向应用程序代码所在的源代码控制存储库。您可以配置此资源以触发特定事件的相关步骤。
    • 一个BuildInfo资源,该资源是指向构建工件的指针。这是由PublishBuildInfo步骤自动创建的。
  • 步骤是构成管道的可执行单元。在我们的示例中,管道由以下步骤组成:
    • 一个GoBuild构建Go项目的原生步骤。此步骤是一个预打包的步骤(即本机步骤),可以通过简单的配置使用,而不需要自定义脚本。详细资料GoBuild可以在这里找到。
    • 一个GoPublishBinary将Go二进制文件发布到Artifactory的原生步骤。此步骤也不需要自定义脚本。详细资料GoPublishBinary可以在这里找到
    • 一个PublishBuildInfostep是一个本地步骤,它收集构建元数据并将其推送到Artifactory。人工构建提供一个清单,并包含有关所包含模块、依赖项和其他环境变量的元数据。详细资料PublishBuildInfo可以在这里找到。
  • 没有标签
版权所有©2022 JFrog Ltd.