使用JFrog CLI和GitHub Actions管理二进制文件

在过去的几周里,我们发布了一系列关于如何使用JFrog CLI、Artifactory和GitHub Actions来构建出色软件的博客文章。上周我们创建并发布了一个Go模块,并记录了构建信息,在这最后一篇文章中,我们将在Artifactory中构建并存储二进制文件。
当我们在2006年发布Artifactory时,我们想要构建一个能够以本地方式管理任何类型的包和任何类型的工件的产品。所以你可以说管理二进制文件是JFrog的工作。在本系列的最后一篇文章中,让我们将二进制文件上传到Artifactory,以便我们可以从那里分发它!
我引用的所有代码和文件都可以在GitHub
工作流
一个非常常见的用例是将二进制文件发布到Artifactory。要做到这一点,你需要一个包含三个步骤的工作流:
- 获取模块并构建应用程序
- 将二进制文件发布到Artifactory(因为这才是它们真正需要的位置)
- 收集构建信息(类似于您在上一篇博客中看到的内容)
步骤1:构建应用程序
该操作将自动配置为使用您已配置的Artifactory服务器。您可以从Artifactory(如果您跟随其他博客)或GitHub获得这些模块。下面的代码显示了如何从GitHub获取模块,只需删除——no-registry旗帜从Artifactory那里拿回来。
action "Step1 - Build app" {uses = "retgits/actions/jfrog-cli-go@master" secrets = ["URL", "USER", "PASSWORD"] args = ["go Build go -no-registry"] env = {CRED = "username"}}
第二步:上传
将二进制文件放入Artifactory只需要简单地上传它,JFrog CLI可以很好地完成这项任务。我们还可以更改构建号以查看更多的构建,并在稍后查看二进制文件是否属于特定的构建。
action "Step2 - Upload" {uses = "retgits/actions/jfrog-cli-go@master" secrets = ["URL", "USER", "PASSWORD"] args = [" Upload hello generic-local——Build -name=my-build——Build -number=2"] env = {CRED = "username"} needs = ["Step1 - Build app"]}
步骤3:收集构建信息
正如您在前面的博客中所做的那样,您可以收集构建信息。这是非常有用的,因为这是一个与上次不同的工作,环境可能会有所不同。
action "Step3 - Collect Build Info" {uses = "retgits/actions/jfrog-cli-go@master" secrets = ["URL", "USER", "PASSWORD"] args = [" Build - Collect -env my-build 2", " Build -publish my-build 2"] env = {CRED = "username"} needs = ["Step2 - Upload"]}
您可以找到整个文件在这里在你提交更改之后,GitHub会处理这些步骤
二进制
与所有其他博客一样,您可以查看日志并查看结果!
步骤1:构建应用程序
###开始Step1 -构建应用22:21:43Z…剪断…验证使用用户名运行'go build go -no-registry'…[信息]加密密码…[Info]使用go: go version go1.11.4 linux/amd64Io /quote v1.5.2 go:查找rsc。Io /sampler v1.3.0 go:查找golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c go:下载rsc。Io /quote v1.5.2 go:下载rsc。运行“go build go -no-registry”###完成Step1 - build app 22:24:36Z (2m52.851秒)
第二步:上传
###开始Step2 -上传22:21:43Z…剪断…使用用户名认证[Info]加密密码…运行“upload hello generic-local——build-name=my-build——build-number=2”…[Info][线程2]上传工件:hello {"status": "success", "totals": {"success": 1, "failure": 0}}成功运行了'upload hello general -local——build-name=my-build——build-number=2' ###完成步骤2 -上传22:24:41Z (2m58.158秒)
步骤3:收集构建信息
###开始Step3 -收集构建信息22:21:43Z…剪断…使用用户名认证[Info]加密密码…运行“build-collect-env my-build 2”…[信息]收集环境变量…[Info]收集my-build/2的环境变量运行build-publish my-build 2成功运行build-collect-妒忌my-build 2[信息]部署构建信息…[Info] Build Info成功部署。在https://35.232.80.15/artifactory/webapp/builds/my-build/2下的Artifactory中浏览它成功运行了' Build -publish my-build 2' ###完成步骤3 -收集构建信息22:24:41Z (2m58.266)
Artifactory
在Artifactory中,您将在Artifact Repository Browser中找到新发布的二进制文件
在构建信息中,您也会发现一个新的构建!
回顾
在过去的几周里,我们带您踏上了JFrog CLI之旅,向您展示:
- 使用JFrog CLI与GitHub的动作
- 使用JFrog CLI构建Go应用程序
- 使用JFrog CLI创建Go模块
- 使用JFrog CLI发布二进制文件(本文)
如前所述,我们创建了CLI以便轻松创建连接到任何JFrog工具的脚本。这种易用性,再加上GitHub Actions的强大功能,将加快您构建和发布应用程序的速度!
接下来是什么
如果您想尝试GitHub Actions,请前往GitHub的网站报名参加他们的测试项目。对于一个环境来测试驱动JFrog Artifactory的所有功能(以及更多),您可以在我们的演示环境。如有问题或意见,请在这里或上面留言推特!
