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

用JFrog CLI发布Go模块

在接下来的几周里,我们将发布一系列博文,介绍如何使用JFrog CLI、Artifactory和GitHub Actions来构建出色的软件。上周我们使用Artifactory、CLI和GitHub Actions构建了一个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 Actions工作流只保留工作文件夹,并一步一步地丢弃其余的。JFrog CLI将它收集的构建信息存储在一个单独的文件夹中,所以当移动到另一个步骤时,它会丢失这些信息。

构建集成是Artifactory和JFrog CLI最了不起的特性之一。点击微博
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…剪断…使用用户名认证[Info]加密密码…运行“go-publish go v1.0.0——build-name=my-build——build-number=1”…[Info] Using go: go version go1.11.4 linux/amd64 [Info] Publishing github.com/you/hello to go [Info]在/github/workspace中运行“go mod graph”。Io /quote v1.5.2 go: finding rsc。io/sampler v1.3.0 go: finding golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c {"status": "success", "totals": {"success": 1, "failure": 0}} Successfully run 'go- Publish go v1.0.0——build-name=my-build——build-number=1' ### COMPLETED Step1 -发布包21:16:20Z (2m11.222)

步骤2:收集构建信息

### STARTED Step2 - Collect Build Info 21:14:09Z…剪断…使用用户名认证[Info]加密密码…运行“build-collect-env my-build 1”…[信息]正在收集环境变量…[Info] my-build/1的环境变量。成功运行'build-collect-env my-build 1'运行'build-publish my-build 1'…[信息]部署构建信息…[信息]构建信息已成功部署。在https://xxx.xxx.xxx.xxx/artifactory/webapp/builds/my-build/1下的Artifactory中浏览它,成功运行' Build -publish my-build 1' ### COMPLETED Step2 - Collect Build Info 21:16:26Z (2m16.733s)

Artifactory

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

在Artifact Repository Browser中…

而且所有的构建信息都是可用的…

在构建信息部分。

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

接下来是什么

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