开始之前
在尝试这个例子之前,请确保您具备:
- 一个GitHub账户。这是派生示例存储库所必需的。
- 一个JFrog平台账户,或自托管JFrog管道.
- 至少一个节点池。这是所有管道步骤将在其中执行的节点集。有关更多信息,请参见管理管路节点池.请注意,如果您有云帐户,则节点池将作为您订阅的一部分可用。
- 建议您运行
整理衣柜
命令在本地机器上生成go.sum
文件,然后把它推到你的Git回购。
运行这个例子
请按照下面的步骤来构建你的Go二进制代码:
Fork存储库
该管道示例可在jfrog-pipelines-go-sample存储库中的JFrogGitHub帐户。配置包含在存储库根目录下的YAML文件中:pipelines.yml
,其中包含运行管道所需的所有资源和步骤的声明。2022世界杯阿根廷预选赛赛程该配置是以模板格式编写的,因此不需要更改该文件中的任何内容。values.yml
,其中包含将被填充到模板中以创建管道的自定义值
Fork这个存储库到您的帐户或组织。这是很重要的,因为你需要管理访问你的管道中使用的存储库,以使我们能够将webhook添加到这些存储库并监听更改事件。
Git存储库包括一个
go.sum
文件。然而,我建议你跑步整理衣柜
命令在本地机器上生成一个新的go.sum
文件,然后把它推到你的Git回购。登录到Artifactory
用您的Artifactory证书登录JFrog平台。创建所需的Go存储库
您将需要创建以下存储库,它们将用于您的管道配置:- 本地化:本地Go存储库你的二进制文件将在哪里发布
- go-remote:远程Go存储库这个代理https://proxy.golang.org/
- 网络:虚拟Go存储库它聚合本地和远程存储库,并在管道定义中用于解析依赖项。中选择了本地和远程存储库存储库节,同时创建虚拟回购。
添加集成
a.转至政府|管道|集成来添加两个积分:- GitHub集成:此集成用于添加Pipeline源,以及GitRepo资源。
- Artifactory集成:该集成用于与Artifactory进行身份验证,以解决依赖关系,并将构建的二进制文件发布到Artifactory。
更新pipeline定义
因为你
pipelines.yml
配置文件是模板化的,你可以更新values.yml
按照下面的说明在您的分叉存储库中。标签 描述 例子 gitProvider
提供你在前一步(4)中添加的Github集成的名称。 gitProvider: myGithubIntegration
repoPath
提供这个存储库的分支的路径。 repoPath: myuser / jfrog-pipelines-maven-sample
artifactory
提供您在前一步(4)中添加的Artifactory集成的名称。 artifactory: myArtifactoryIntegration
就是这样。您的配置已经准备好了!
在一个项目中,所有的管道定义都是全局的。管道和资源的名称在内部必须是唯一的2022世界杯阿根廷预选赛赛程项目位于JFrog管道。
添加管道源
管道源表示存储管道定义文件的git存储库。管道源通过控件连接到存储库集成,这是我们在步骤4中添加的。- 在左侧导航栏中,转到管理|管道|管道源.点击添加管道源然后选择从YAML.遵照指示添加管道源.这将自动将您的配置添加到平台,并根据您的YAML创建管道。
- 管道源同步成功后,导航到管道,我的管道在左侧导航栏查看新添加的管道。在这个例子中,
go_build_pipeline_example
是管道的名称。 - 单击管道的名称。这将呈现管道及其最新运行结果的实时交互式图表。
执行管道
您可以通过向存储库提交更改来触发管道,也可以通过UI手动触发管道。年代uccess !
您已经成功执行了示例go应用程序管道!您可以通过查看管道创建的二进制文件和构建来验证结果。
导航到应用| Artifactory | Artifacts你会在本地化存储库:
导航到应用程序| Artifactory |构建查看已出版的构建- - - - - -
go_build_pipeline_example
.
管道定义说明
现在让我们看一下管道定义文件以及每个部分的含义。
的pipelines.yml文件包含管道的模板化定义。这包括以下内容:
- 2022世界杯阿根廷预选赛赛程资源是包含由管道步骤消耗或生成的信息的实体。在我们的例子中,我们使用了以下资源:2022世界杯阿根廷预选赛赛程
- 步骤是构成管道的可执行单元。在我们的例子中,管道由以下步骤组成:
- 一个GoBuild构建Go项目的原生步骤。该步骤是预先打包的步骤(即本机步骤),可以通过简单的配置使用,不需要自定义脚本。详细资料GoBuild在这里可以找到。
- 一个GoPublishBinary本机步骤,发布你的Go二进制到Artifactory。这个步骤也不需要自定义脚本。详细资料GoPublishBinary可在此下载
- 一个PublishBuildInfostep是一个本地步骤,它收集构建元数据并将其推送到Artifactory。Artifactory build提供了一个清单,包括包含的模块、依赖项和其他环境变量的元数据。详细资料PublishBuildInfo在这里可以找到。