Travis-CI:在.travis.yml文件的deploy部分中使用环境变量

时间:2015-12-01 13:25:02

标签: travis-ci bintray

我正在使用Travis-CI来构建我的Go项目,到目前为止,我使用了gimme脚本和travis go环境的组合来交叉编译项目。

我切换到支持GOOSGOARCH环境变量的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_OSGIMME_ARCH环境变量,它运行正常,这让我相信Travis确实支持这一点。

可能是什么问题?

1 个答案:

答案 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>