6

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

我切换到支持GOOSGOARCH环境变量交叉编译的 Go 1.5,无需其他编译器或脚本。

我的问题是我正在使用Bintray 部署,并且我的环境变量没有在部署阶段公开。

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_OSandGIMME_ARCH环境变量,它运行良好,这让我相信 Travis 确实支持这一点。

可能是什么问题呢?

4

1 回答 1

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

本质上,您似乎无法访问从部署部分的脚本部分导出的动态变量,但您可以将它们写下来(输出到文件),然后再访问它们。

于 2018-06-27T16:43:32.863 回答