goreleaser 是一个方便的 go 二进制包分发工具。可以帮助我们进行go 二进制包的快速,简单分发。
我们可以用来创建一个项目,打包成不同格式,一键发布到 github、gitlib、gitea 。
我们可以把项目一键打包等 docker镜像,发布到 docker.io、gcr.io 。
go install github.com/goreleaser/goreleaser@latest
或
sudo snap install --classic goreleaser
略
goreleaser init
goreleaser check
goreleaser --snapshot --skip-publish --rm-dist
export GITHUB_TOKEN="YOUR_GITHUB_TOKEN"
git tag -a v0.1.0 -m "First release"
FROM scratch
COPY YOUR_BINARY_NAME /app
ENTRYPOINT ["/app"]
dockers:
- image_templates:
- "docker.io/YOUR_DOCKER_IO_NAME/YOUR_IMG_NAME:{{ .Version }}-amd64"
# - "docker.io/YOUR_DOCKER_IO_NAME/YOUR_IMG_NAME:{{ .Version }}-arm64v8"
显示: docker images
清空: docker system prune -a
执行: docker run YOUR_IMG_NAME:VERSION
推送:docker push YOUR_IMG_NAME:VERSION
登录:docker login --username=YOUR_NAME
goreleaser release --rm-dist
https://goreleaser.com/customization/nfpm/
https://goreleaser.com/customization/docker/ http://www.idmiss.com/701 (不含docker)
https://goreleaser.com/customization/docker/?h=docker
docker tag brothersam/test01/testgoreleaser brothersam/test01:77
docker tag tomcat poloyy/tomcat:77
给需要上传的镜像重新打一个 tag,来说下重点
可套用的公式其实是: docker tag 需要上传的镜像[:TAG] [docker hub自己注册的账号名]/镜像名[:TAG]
tomcat :待上传的镜像名,可以指定 TAG
poloyy :就是我 Docker hub 的账号,这里换成自己的账号即可
poloyy/tomcat:77 :意味生成在 poloyy 账号下的 tomcat 仓库,并且打了个 77 标签
https://goreleaser.com/customization/universalbinaries/
https://www.jianshu.com/p/82f6cf124805
https://hub.docker.com/_/golang/tags
https://goreleaser.com/ci/actions/
https://cloud.tencent.com/developer/article/1935771
pip install --user mkdocs mkdocs-material
通过 mkdocs new <目录> 就可以快速创建文档站点。目录里会生成 mkdocs.yml 文件和docs目录,目录内有默认的index.md文件,你可以修改和增加文件。
<目录> 里 mkdocs serve
例如: https://github.com/aws/copilot-cli/tree/mainline/site/content/docs
效果: https://aws.github.io/copilot-cli/ja/
参考案例: https://gitlab.com/mkdocs-i18n/mkdocs-i18n/-/blob/main/mkdocs.yml
本地安装 pip3 install mkdocs-i18n,否则 mkdocs serve 受影响。
.github/workflows/rmkdocs_actions.yml 文件加上引用 mkdocs-i18n
`- run: pip install mkdocs-material mkdocs-awesome-pages-plugin mkdocs-section-index mkdocs-i18n`
mkdocs.yml 文件,参考 demo 写。每个语言一个文件,XXX.zh.md XXX.md XXX.jp.md 就可以。i18n 可以选择正确的显示出来。
【项目】--》【Settings】==》【Secrets】==》【action】==》【New repository secret】==》【Name=BOT_GITHUB_TOKEN】【Secret=我账户下生成的】
【主要页面】==》【Releases】==》【Draft a new Releases】==>选 旧tag==》v1.1.1【title = V1.1.1 (2022-11-04)】==>发布