我有一个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应用程序,那就太棒了。
谢谢。
答案 0 :(得分:1)
您可以在Travis CI上安装heroku-deploy插件,并采用与deploy to Heroku locally相同的方式进行部署。
实际上,这就是heroku-deploy插件自我测试的功能,因此您可以将其作为示例使用。 setup script从https://toolbelt.heroku.com/install-ubuntu.sh
下载工具带的Ubuntu安装程序然后,您只需要在设置脚本中使用此命令安装插件:
heroku plugins:install https://github.com/heroku/heroku-deploy
并将您的API密钥设置为.travis.yml