我是 Golang 的绝对新手,但我想修改 Go 构建脚本以仅在本地构建文件,而不是将其发布到 GitHub。
https://github.com/dahendel/docker-machine-driver-cloudstack/blob/master/.goreleaser.yml
如何进行?
我是 Golang 的绝对新手,但我想修改 Go 构建脚本以仅在本地构建文件,而不是将其发布到 GitHub。
https://github.com/dahendel/docker-machine-driver-cloudstack/blob/master/.goreleaser.yml
如何进行?
我已经克隆了你的 repo 并在我的本地机器上尝试。这是步骤:
git克隆
执行试运行(在“真正”发布之前测试所有内容:
$ goreleaser release --skip-publish
显示没有错误
• SIGNING ARTIFACTS
• pipe skipped error=artifact signing is disabled
• DOCKER IMAGES
• pipe skipped error=docker section is not configured
• PUBLISHING
• pipe skipped error=publishing is disabled
• release succeeded after 20.75s
执行 goreleaser 以释放
$ goreleaser release
goreleaser 将在项目内创建dist文件夹,该文件夹将包含分发包(deb,rpm)。
创建 github 或 gitlab 令牌(https://github.com/settings/tokens)并将其作为环境变量
export GITHUB_TOKEN=xxxxyyyyyzzzzz
解决问题。
正如我在你的goreleaser.yaml
hooks:
pre: dep ensure
您正在使用 dep ensure,检查$GOPATH
并确保$GOPATH
指向 Go 项目的正确路径。
dist 文件夹之前已创建,您可以手动删除该文件夹或--rm-dist
在执行 goreleaser 命令时添加标志
$ goreleaser release --skip-publish --rm-dist
当我在mac机器上运行时发生此错误所以没有安装rpmbuild,安装rpm,rpmbuild解决问题
$ brew install rpm
Goreleaser 似乎检查文件差异,因为运行钩子(dep ensure)更新 Gopkg.lock 并且此更改/更新不会推送到 git。解决方案总是将更改推送到 git。
从 GoReleaser 文档中读取“GoReleaser 强制执行语义版本控制,并且会在不合规的标签上出错。您的标签应该是有效的语义版本。如果不是,GoReleaser 将出错。”
推送到 git 后,确保您必须更新标签,在这种情况下,我将标签更新到 v1.0.6(以前是 v1.0.5)。
确保发布文本在那里。
希望有帮助