使用JFrog命令行发布Go模块到JFrog Artifactory

在接下来的几周里,我们将发布一系列博客文章,介绍如何使用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将它收集的构建信息存储在一个单独的文件夹中,因此当移动到另一个步骤时,它将丢失构建信息。
action "Step2 -收集构建信息" {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:发布包
### STARTED Step1 -发布包21:14:09Z…剪断…使用用户名认证[Info]加密密码…运行“go-publish go v1.0.0——build-name=my-build——build-number=1”…[Info]使用go: go版本go1.11.4 linux/amd64 [Info]发布github.com/you/hello去[Info]运行'go mod graph'在/github/workspace go:查找rsc。Io /quote v1.5.2 go:查找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 ran 'go- Publish go v1.0.0——build-name=my-build——build-number=1' ### COMPLETED Step1 - Publish package 21:16:20Z (2m11.222s)
步骤2:收集构建信息
###开始Step2 -收集构建信息21:14:09Z…剪断…使用用户名认证[Info]加密密码…运行“build-collect-env my-build 1”…[信息]收集环境变量…[Info]收集my-build/1的环境变量运行build-publish my-build 1成功运行build-collect-妒忌my-build 1[信息]部署构建信息…[Info] Build Info成功部署。在https://xxx.xxx.xxx.xxx/artifactory/webapp/builds/my-build/1下的Artifactory中浏览它成功运行了' Build -publish my-build 1' ###完成步骤2 -收集构建信息21:16:26Z (2m16.733s)
Artifactory
在Artifactory中,您将在Artifact Repository Browser中找到新发布的模块
所有的构建信息也是可用的…
在这里,您可以看到构建过程中记录的所有环境变量和其他数据!
接下来是什么
如果您想尝试GitHub Actions,请前往GitHub的网站报名参加他们的测试项目。对于一个环境来测试驱动JFrog Artifactory的所有功能(以及更多),您可以在我们的演示环境.如有问题或意见,请在这里或上面留言推特!