https://github.com/ruanun/simple-server-status 构建发布为例子来说明

GoReleaser官网:https://goreleaser.com/

1,安装goreleaser,初始化.goreleaser.yaml配置文件

下载可执行文件并配置到环境变量中

执行goreleaser init初始化配置文件,具体参照https://github.com/ruanun/simple-server-status项目的配置

同时要创建Dockerfile文件

可利用goreleaser check检查配置是否正确

可用goreleaser release --snapshot --clean仅本地构建,不进行发布

2,发布到github,dockerhub

配置github token到环境变量

export GITHUB_TOKEN="YOUR_GH_TOKEN"`

登录docker hub

#-u 指定登录用户名
docker login -u ruanun 

创建git标签;(构建时指定--snapshot参数,则不需要创建tag)

git tag -a v1.0.1 -m "v1.0.1"
git push origin v1.0.1

本项目内嵌的了web页面,所以需先构建web,这里利用docker的node环境构建

git clone https://github.com/ruanun/simple-server-status.git
cd simple-server-status

#挂载web到docker中利用docker的node环境构建web
docker run --rm -it -v ./web:/web node:lts /bin/bash
cd web
npm i 
npm run build:prod

退出docker容器,复制web构建产物到golang项目中

cp -r ./web/dist/* ./dashboard/public/dist/

正式构建并发布

goreleaser release
文章目录