从Travis-CI构建中设置Heroku环境变量值

时间:2018-06-08 07:43:36

标签: heroku continuous-integration travis-ci continuous-deployment continuous-delivery

在我的项目中,我使用Travis-CI进行持续集成(构建在每个MR到master分支上)以及将工件部署到Heroku。这是我的.travis.yml文件:

language: java
jdk: oraclejdk8

branches:
  only:
    - master

script:
  mvn package

deploy:
  provider: heroku
  api_key: $HEROKU_API_KEY

notifications:
  email:
    on_success: never
    on_failure: always

这是我的Procfile

web java -Dserver.port=$PORT -jar target/my-artifact.jar

在这里你可以看到我使用PORT Heroku变量,但我也使用了很少的自定义变量。有时我需要在新构建后更新它们的值。以前我手动完成它,但我正在寻找如何自动化它。我需要使用我在Travis-CI构建时确定的值更新Heroku环境变量。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

您可以使用Heroku平台API设置环境变量:https://devcenter.heroku.com/articles/platform-api-reference#config-vars

在Travis中,您可以使用'before_deploy'步骤(https://docs.travis-ci.com/user/customizing-the-build#The-Build-Lifecycle)预先部署任务

因此,创建一个使用Heroku平台API更新环境的脚本,并将其作为before_deploy步骤的一部分运行。