我有一个Go项目,我想用Travis-CI构建并将其部署到特定的提供程序。 我熟悉Gimme project,它将使用交叉编译来实现。 但是因为Travis已经支持linux和osx我只需要这个功能的Windows版本。Travis CI + Go:为不同的操作系统创建特定的构建流程
当然,大动机是为了避免交叉编译运行时错误,因为它有很多。
我的问题是如何创造,在同一.travis.yml文件,不同的构建流程:
- 本地Linux/OS版本(与 “OS” 一节)。使用Gimmme
对于第一种选择将是这个样子的.travis.yml文件
language: go
go:
- 1.5.1
branches:
only:
- master
os:
- osx
- linux
before_script:
- go get -d -v ./...
script:
- go build -v ./...
# - go test -v ./...
before_deploy:
- chmod +x ./before_deploy.sh
- ./before_deploy.sh
第二种选择看起来有点像.travis.yml文件:
language: go
go:
- 1.5.1
branches:
only:
- master
env:
- GIMME_OS=windows GIMME_ARCH=amd64
before_script:
- go get -d -v ./...
script:
- go build -v ./...
# - go test -v ./...
before_deploy:
- chmod +x ./before_deploy.sh
- ./before_deploy.sh
是否有一个很好的干净的方式来结合这两个(与环境变量或任何其他疯狂的想法)?
谢谢,这是伟大的! – Shikloshi