在我的项目中,我使用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环境变量。我怎么能这样做?
答案 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步骤的一部分运行。