如何通过Travis CI部署到Herouku而不需要两次构建项目?

时间:2016-03-20 07:56:28

标签: java heroku travis-ci jhipster

我有一个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应用程序,那就太棒了。

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以在Travis CI上安装heroku-deploy插件,并采用与deploy to Heroku locally相同的方式进行部署。

实际上,这就是heroku-deploy插件自我测试的功能,因此您可以将其作为示例使用。 setup scripthttps://toolbelt.heroku.com/install-ubuntu.sh

下载工具带的Ubuntu安装程序

然后,您只需要在设置脚本中使用此命令安装插件:

heroku plugins:install https://github.com/heroku/heroku-deploy

并将您的API密钥设置为.travis.yml

中的安全变量