You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# https://github.com/flytam/filenamify/blob/master/.travis.ymllanguage: gogo:
- 1.13.xenv:
- GO111MODULE=onscript: go test -v
然后给在项目中加上构建状态图标。搞定
这样,每次推送到远程,就会触发CI自动执行单元测试
发布 github release
有时候我们的 Go 项目是需要打包成可行文件直接发布到 github release 让别人下载执行的。这时候也可以使用travis实现,借助travis releases工具即可
1、新建一个.travis.yml文件,填入基本的 Go 配置环境
language: gogo:
- 1.13.xenv:
- GO111MODULE=on # 启用Go modinstall:
- go get -v
2、编写Makefile
在nodejs项目中,我们一般会配置一个npm run test的命令执行测试,但是 Go 是没有npm和package.json这两个东西,这时候就需要编写Makefile来实现了(可以把Makefile看作功能类型于package.json的东西,只是使用make xxx来执行),Makefile编写可以参考。
单元测试
本文不讲述 Go 的单元测试如何编写,这里直接以filenamify(一个合法化文件路径的库)为例子。已为
filenamify.go
编写测试文件filenamify_test.go
。只需要在tracis
中执行go test -v
即可。然后给在项目中加上构建状态图标。搞定
这样,每次推送到远程,就会触发CI自动执行单元测试
发布 github release
有时候我们的 Go 项目是需要打包成可行文件直接发布到 github release 让别人下载执行的。这时候也可以使用
travis
实现,借助travis releases
工具即可1、新建一个
.travis.yml
文件,填入基本的 Go 配置环境2、编写
Makefile
在
nodejs
项目中,我们一般会配置一个npm run test
的命令执行测试,但是 Go 是没有npm
和package.json
这两个东西,这时候就需要编写Makefile
来实现了(可以把Makefile
看作功能类型于package.json
的东西,只是使用make xxx
来执行),Makefile
编写可以参考。以blog-sync为例子,这里我是需要打包全平台的可行文件,于是
Makefile
如下执行
make build-all
即可在bin
目录下生成 3 个平台的可执行文件。3、使用
setup
初始化配置再简单定制化后,最终如下配置,
releases
配置可参考文档4、发布
每次打tag推送到仓库,就会触发自动发布可执行文件到github release
5、可以看到,我们的自动构建发布 release 成功了
The text was updated successfully, but these errors were encountered: