我正在使用Travis-CI
来构建我的Go
项目,到目前为止,我使用了gimme
脚本和travis go环境的组合来交叉编译项目。
我切换到支持GOOS
和GOARCH
环境变量的Go 1.5,以交叉编译器,而无需其他编译器或脚本。
我的问题是我正在使用Bintray deploy,我的环境变量在部署阶段没有公开。
language: go
go:
- 1.5
env:
matrix:
- GOOS=windows GOARCH=amd64
- GOOS=linux GOARCH=amd64
- GOOS=linux GOARCH=386
- GOOS=darwin GOARCH=amd64
before_script:
- go get -d -v ./...
script:
- go build -v ./...
before_deploy:
- chmod +x ./prepare_bintray_deployment.sh
- "./prepare_bintray_deployment.sh"
deploy:
file: bintray_descriptors/${GOOS}_${GOARCH}.json
provider: bintray
请注意,在此更改之前,我使用的是GIMME_OS
和GIMME_ARCH
环境变量,它运行正常,这让我相信Travis确实支持这一点。
可能是什么问题?
答案 0 :(得分:1)
类似的事情对我有用:
script:
- # do some build stuff here
- echo ${MY_VAR} > my_var.txt
before_deploy:
- export MY_VAR=$(cat my_var.txt)
deploy:
file: foo/bar_${MY_VAR}.json
skip_cleanup: true
从本质上讲,您似乎无法访问从deploy部分中的脚本部分导出的动态var,但您可以将它们写下来(输出到文件中),然后再访问它们。 / p>