【问题标题】:How to deploy to Herouku through Travis CI without building the project twice?如何通过 Travis CI 部署到 Heroku 而无需两次构建项目?
【发布时间】:2016-07-06 19:19:17
【问题描述】:

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

谢谢。

【问题讨论】:

    标签: java heroku travis-ci jhipster


    【解决方案1】:

    您可以在 Travis CI 上安装 heroku-deploy 插件,并以与 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 密钥设置为 .travis.yml 中的安全变量

    【讨论】:

      猜你喜欢
      • 2019-01-26
      • 1970-01-01
      • 2012-11-09
      • 1970-01-01
      • 2020-11-09
      • 1970-01-01
      • 1970-01-01
      • 2017-08-14
      • 2018-09-26
      相关资源
      最近更新 更多