在Heroku中部署我的Gradle(Spring Boot)应用程序

在Heroku中部署我的Gradle(Spring Boot)应用程序,heroku,github,gradle,spring-boot,Heroku,Github,Gradle,Spring Boot,我有一个带有以下build.gradle文件的gradle+spring启动应用程序: buildscript { ext { springBootVersion = '2.0.0.BUILD-SNAPSHOT' } repositories { mavenCentral() maven { url "https://repo.spring.io/snapshot" } maven { url "https:

我有一个带有以下build.gradle文件的gradle+spring启动应用程序:

buildscript {
    ext {
        springBootVersion = '2.0.0.BUILD-SNAPSHOT'
    }
    repositories {
        mavenCentral()
        maven { url "https://repo.spring.io/snapshot" }
        maven { url "https://repo.spring.io/milestone" }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'

jar {
    baseName = 'teambuilting'
    version = '0.0.1-SNAPSHOT'
}
sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
    mavenCentral()
    maven { url "https://repo.spring.io/snapshot" }
    maven { url "https://repo.spring.io/milestone" }
}


dependencies {
    compile('org.springframework.boot:spring-boot-starter-actuator')
    compile('org.springframework.boot:spring-boot-actuator-docs')
    compile('org.springframework.boot:spring-boot-starter-data-rest')
    compile('org.springframework.data:spring-data-rest-hal-browser')
    compile('org.springframework.boot:spring-boot-starter-web')
    compile('org.springframework.boot:spring-boot-starter-web-services')
    compile('org.springframework.boot:spring-boot-starter-data-mongodb')

    testCompile('org.springframework.boot:spring-boot-starter-test')
}
但是,当我试图在Heroku部署主分支时,我得到以下错误:

-----> Failed to detect set buildpack https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/gradle.tgz
More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure
 !     Push failed

我在构建包中添加了heroku/gradle。我还缺少什么?

您必须在仪表板中定义项目使用Gradle的buildpack。在build.gradle中,必须添加此任务:

task stage {
    dependsOn build
}
并创建一个Procfile,以指示heroku构建软件后的下一步


Juan Antonio

您必须在仪表板中定义项目使用Gradle的构建包。在build.gradle中,必须添加此任务:

task stage {
    dependsOn build
}
并创建一个Procfile,以指示heroku构建软件后的下一步


Juan Antonio

Hi jabrena,我应该在Procfile中放什么?您可以使用这个示例作为指导:web:java-Dserver.port=$port-jar build/libs/YOUR_jar_NAME.jarI按照您告诉我的做了,但我仍然有同样的问题,这可能是因为我的应用程序在一个文件夹中造成的吗?这是我的git repo是的,另外你还有一个.openshift的文件夹。尝试将内容移动到root。嗨,jabrena,我应该在Procfile中放置什么?您可以使用此示例作为指南:web:java-Dserver.port=$port-jar build/libs/YOUR_jar_NAME.jarI按照您的指示操作,但我仍然有相同的问题,这可能是因为我的应用程序位于一个文件夹中吗?这是我的git repo是的,另外你还有一个.openshift的文件夹。尝试将内容移动到根目录。