我有一个 JHipster 项目,我想通过 Travis CI 构建,然后部署到 Heroku。然而,即使 Travis CI 通过了构建,它也会将整个代码提交给 Heroku,然后 Heroku 会尝试再次构建整个项目,这违背了让 Travis CI 处于中间位置的目的。
有没有一种方法可以使用 Travis CI 构建我的项目,然后将构建的 WAR 部署到 Heroku?
鉴于 JHipster 使用 Spring Boot,我只需要 WAR 来运行应用程序。
这是我的 .travis.yml 文件:
language:
- java
jdk:
- oraclejdk8
sudo: false
env:
- MAVEN_CUSTOM_OPTS="-Pprod,heroku -DskipTests"
before_install:
- npm install -g npm
- rm -fr /home/travis/.npm/
- npm cache clean -g
- npm install grunt-cli -g
- npm install
install:
- mvn package -Pprod -DskipTests
script: true
notifications:
webhooks:
on_success: change
on_failure: always
on_start: false
deploy:
provider: heroku
api_key:
secure: [key]
skip_cleanup: true
另外,如果有另一种方法可以通过这个过程部署一个Spring Boot应用程序,那就太好了。
谢谢。
最佳答案
您可以安装 heroku-deploy Travis CI 上的插件并以与您相同的方式部署 deploy to Heroku locally .
其实这就是heroku-deploy插件自己做的测试,可以拿来举例。 setup script从以下位置下载工具带的 Ubuntu 安装程序:https://toolbelt.heroku.com/install-ubuntu.sh
然后您只需要在安装脚本中使用此命令安装插件:
heroku plugins:install https://github.com/heroku/heroku-deploy
并将您的 API key 设置为 .travis.yml
中的安全变量
关于java - 如何在不构建项目两次的情况下通过 Travis CI 部署到 Heroku?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36111441/