我在我的项目和Travis-CI中使用Go lang来构建它.
我想在每个操作系统(OSX,Linux,Windows)上构建它,所以我想使用GIMME_OS和GIMME_ARCH环境变量(来自GIMME项目),但问题是Darwin不足以支持我的项目所以我必须在mac上本地构建我的项目.
我的方法是将OSX操作系统构建为VM(travis直接从.travis.yml文件支持),并使用交叉编译(GIMME)linux64,linux386和windows构建Linux.
现在,每次我定义一个环境变量时,它都会为我的构建矩阵创建一个新列.我想要的环境变量只能在linux构建部分中使用.
现在我的.travis.yml看起来像这样:
language: go
go:
- 1.4.2
os:
- osx
- linux
env:
- GIMME_OS=windows GIMME_ARCH=amd64
- GIMME_OS=linux GIMME_ARCH=amd64
- GIMME_OS=linux GIMME_ARCH=386
- GIMME_OS=darwin GIMME_ARCH=386
matrix:
exclude:
os: osx
env: GIMME_OS=darwin GIMME_ARCH=386
before_script:
- go get -d -v ./...
script:
- go build -v ./...
- go test -v ./...
Run Code Online (Sandbox Code Playgroud)
这确实创建了8个构建(每个OS的每个环境变量行)是否有一种方法可以定义仅与.travis.yml文件中的某些部分相关的环境变量(特别是OS部分)
| 归档时间: |
|
| 查看次数: |
632 次 |
| 最近记录: |