gpt4 book ai didi

go - 如何使用Travis CI从多个构建矩阵创建github发布?

转载 作者:IT王子 更新时间:2023-10-29 01:47:32 25 4
gpt4 key购买 nike

我已经设置了一个简单的Go存储库,并按以下方式配置了Travisci

language: go

go:
- 1.8.x
- master

gobuild_args: -ldflags "-X main.Version=${TRAVIS_TAG} -X main.buildTime=`date -u '+%Y-%m-%d_%I:%M:%S%p'` -X main.commitId=${TRAVIS_COMMIT}"

env:
- GOOS=linux GOARCH=amd64
- GOOS=windows GOARCH=amd64

after_success:
- ./build.sh

matrix:
allow_failures:
- go: master

这将在Travisci中创建4个不同的构建。这对于构建一个跨编译项目非常有用,在这个项目中,我可以分别构建Windows和Linux二进制文件。
我一直在努力做的是在GitHub中从这些构建中生成的所有二进制文件创建1个单一版本?
Travisci文档说它们支持发行版,但对于如何处理这样的场景却非常模糊。
不是所有的构建都在不同的虚拟服务器上运行吗?如果是,如何在每个
如果我设置一个版本,它会为每个版本运行吗?如何使用GitHub,它会因为多次尝试创建发布而失败吗?
有人尝试过吗?

最佳答案

既然您使用的是Golang,请看一下ghr
我已经将它与CircleCI一起使用,它的简单程度如下:
ghr -t $GITHUB_TOKEN -u $CIRCLE_PROJECT_USERNAME -r $CIRCLE_PROJECT_REPONAME v1.0.$CIRCLE_BUILD_NUM $CIRCLE_ARTIFACTS/ || true
哪里。。。
$GITHUB_TOKEN是用于发布文件的github token。我相信您需要repo read访问和用户访问。
$CIRCLE_PROJECT_USERNAME是github用户
$CIRCLE_PROJECT_REPONAME您在Github上的存储库名称是
$CIRCLE_BUILD_NUM是由Circleci给出的内部版本号(我喜欢将其用作点发行版,以使发行版与内部版本匹配)
$CIRCLE_ARTIFACTSis the build artifacts path on circleci
最后的|| true确保即使创建版本和上载文件失败,也不会使整个构建失败。

关于go - 如何使用Travis CI从多个构建矩阵创建github发布?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43824546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com