使用JFrog CLI发布Go模块到JFrog Artifactory

使用JFrog CLI发布Go模块

在接下来的几周里,我们将发布一系列关于如何使用JFrog CLI、Artifactory和GitHub Actions来构建很棒的软件的博客文章。上周我们使用Artifactory、CLI和GitHub Actions构建了一个Go应用程序,本周我们将继续将Go应用程序作为一个模块发布。

Go模块是相关的Go包的集合,它们作为一个单独的单元一起进行版本管理。这些“单元”使得在开发人员之间共享代码成为可能,而无需要求他们反复下载代码。在这篇文章中,我们将使用一个构建的应用程序,并使用JFrog CLI将模块存储在Artifactory中。

我提到的所有代码和文件都可以在GitHub

工作流

你可以使用与上一篇博客文章相同的应用程序,所以让我们回顾一下步骤:

  • 将包发布到Artifactory
  • 收集并发布构建信息

步骤1:发布包

第一步是将模块发布到Artifactory中的Go存储库。你可以使用任何你想要的版本(比如v1.0.0),并使用——打造了品牌——版本号标记,以将上传的模块记录为工件。

action "Step1 -发布包" {uses = "retgits/actions/jfrog-cli-go@master" secrets = ["URL", "USER", "PASSWORD"] args = ["go- Publish go v1.0.0——build-name=my-build——build-number=1"] env = {CRED = "username"}}

步骤2:收集构建信息

如前一篇文章所述,构建集成是Artifactory和JFrog CLI最出色的特性之一。您可以将其收集并存储在Artifactory中,这样您就有了构建步骤中发生的事情的不可更改的日志。您需要执行两个命令的原因是arg游戏现在是一个数组)是GitHub动作工作流只保留工作文件夹,并从一步到另一步丢弃其余的。JFrog CLI将它收集的构建信息存储在一个单独的文件夹中,所以当移动到另一个步骤时,它会丢失这些信息。

构建集成是Artifactory和JFrog CLI最出色的特性之一。点击Tweet
action "Step2 - Collect Build Info" {uses = "retgits/actions/jfrog-cli-go@master" secrets = ["URL", "USER", "PASSWORD"] args = [" Build - Collect -env my-build 1"," Build - Publish my-build 1"] env = {CRED = "username"} needs = ["Step1 - Publish package"]}

您可以找到整个文件在这里在你提交更改后,GitHub将处理这些步骤

只有两个✅,一切仍然正常工作!

真理在旁观者的眼中

现在一切都成功完成了,您可以查看日志了

步骤1:发布包

###开始步骤1 -发布包21:14:09Z…剪断…用户名鉴权[提示]加密密码…运行'go-publish go v1.0.0——build-name=my-build——build-number=1'…[信息]使用go: go version go1.11.4 linux/amd64[信息]发布github.com/you/hello to go[信息]在/github/workspace中运行“go mod graph”go:查找rsc。Io /quote v1.5.2 go:查找rsc。io/sampler v1.3.0 go:查找golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c {"status": "success", "totals": {"success": 1, "failure": 0}}成功运行'go- Publish go v1.0.0——build-name=my-build——build-number=1' ### COMPLETED Step1 - Publish包21:16:20Z (2m11.222s)

步骤2:收集构建信息

###开始第2步-收集构建信息21:14:09Z…剪断…用户名鉴权[提示]加密密码…运行'build-collect-env my-build 1'…[信息]收集环境变量…[信息]收集my-build/1的环境变量。成功运行'build-collect-env my-build 1'运行'build-publish my-build 1'…[信息]正在部署构建信息…[信息]构建信息成功部署。在Artifactory https://xxx.xxx.xxx.xxx/artifactory/webapp/builds/my-build/1下浏览,成功运行' Build -publish my-build 1'

Artifactory

在Artifactory中,您现在将在Artifact Repository Browser中找到新发布的模块

在Artifact Repository Browser中…

所有的构建信息也是可用的…

在构建信息部分。

从那里,您可以看到构建过程中记录的所有环境变量和其他数据!

接下来是什么

如果你想尝试GitHub Actions,请前往GitHub的网站然后报名参加他们的测试项目。对于一个测试驱动JFrog Artifactory的所有功能(以及更多)的环境,您可以在我们的网站上注册测试驱动演示环境.如有任何问题或意见,请在这里或在这里留言推特