未找到 Heroku 任务阶段

Posted

技术标签:

【中文标题】未找到 Heroku 任务阶段【英文标题】:Heroku task stage not found 【发布时间】:2020-05-28 12:58:09 【问题描述】:

我正在尝试将我的项目部署到 Heroku,我关注了 this tutorial 和 this one,但没有一个对我有用。

我的 gradle 看起来像这样:

apply plugin: 'kotlin'
apply plugin: 'application'
apply plugin: 'kotlinx-serialization'

version '0.0.1'
mainClassName = "io.ktor.server.jetty.EngineMain"

task stage(dependsOn: ['clean', 'installDist'])

repositories 
    mavenLocal()
    jcenter()
    maven  url 'https://kotlin.bintray.com/ktor' 


dependencies 
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"

    //Log
    implementation "ch.qos.logback:logback-classic:$logback_version"

    //KTor core
    implementation "io.ktor:ktor-server-jetty:$ktor_version"
    implementation "io.ktor:ktor-server-core:$ktor_version"
    implementation "io.ktor:ktor-client-core:$ktor_version"
...

我用web: ./build/install/my-ws/bin/my-ws 创建了Procfile

我在终端中运行了./gradlew stage,它运行良好。

但是当我做git push heroku master 时,我仍然得到错误

remote: Building source:
remote: 
remote: -----> Gradle app detected
remote: -----> Installing JDK 1.8... done
remote: -----> Building Gradle app...
remote: -----> executing ./gradlew stage
remote:        Downloading https://services.gradle.org/distributions/gradle-4.10-all.zip
remote:        ...............................................................................................................
remote:        
remote:        FAILURE: Build failed with an exception.
remote:        
remote:        * What went wrong:
remote:        Task 'stage' not found in root project 'my-ws'.
remote:        


【问题讨论】:

如果你想在 heroku 上部署 ktor 应用 .. 请阅读这篇关于 ktor 应用部署的中型博客nameisjayant.medium.com/… 【参考方案1】:

只需转到 build.gradle 文件并粘贴以下代码。

tasks.create("stage") 
    dependsOn("installDist")

【讨论】:

【参考方案2】:

确保您的阶段任务位于 根项目。如果没有,请声明一个对子项目任务的依赖:

task stage(dependsOn: [':subproject:stage'])

【讨论】:

同样的结果,我试过你说的和task stage(dependsOn: [':subproject:stage','installDist'])

以上是关于未找到 Heroku 任务阶段的主要内容,如果未能解决你的问题,请参考以下文章

错误:无法加载 celery 应用程序。未找到模块任务

Heroku 上未使用 Celery RabbitMQ CloudAMQP 任务队列

未执行的任务(Django + Heroku + Celery + RabbitMQ)

如何在不杀死未完成的芹菜任务的情况下重新启动heroku应用程序

如何将参数传递给使用 Heroku Scheduler 调用的 rake 任务?

第二阶段团队冲刺站立会议06