LoginSignup
1
0

More than 5 years have passed since last update.

gradleファイルをherokuにデプロイ

Last updated at Posted at 2018-01-23

備忘録

build.gradle

jvmのバージョンは明記

build.gradle
sourceCompatibility = 1.8
compileKotlin {
    kotlinOptions.jvmTarget = "1.8"
}

最後にこれを追加した

build.gradle
task stage(type: Copy, dependsOn: [clean, build]) {
    from jar.archivePath
    into project.rootDir 
    rename {
        'app.jar'
    }
}
stage.mustRunAfter(clean)

clean << {
    project.file('app.jar').delete()
}

heroku

herokuに登録後
コマンドラインでherokuにログインしたあと以下を実行(プロジェクト内で)

$ heroku login
$ heroku config:set GRADLE_TASK="build"

herokuのポートに合わせるためにソースコードに以下を記述

main.kt
fun getHerokuAssignedPort(): Int {
    val processBuilder = ProcessBuilder()
    return if (processBuilder.environment()["PORT"] != null) {
        Integer.parseInt(processBuilder.environment()["PORT"])
    } else 4567
//return default port if heroku-port isn't set (i.e. on localhost)
}

ビルド

./gradlew build
でビルドした後jarファイルがbuild/libsの中にあることを確認

デプロイ

Procfileに以下を記述

Procfile
web: java $JAVA_OPTS -jar build/libs/{ファイル名}.jar  -Dserver.port=$PORT

herokuにデプロイ
エラーは覚悟で・・・

git add ./
git commit -m "first app"
git push heroku master"

herokuのマイページからlogを確認
crashedとか書いてなかったらいけてるはず

  • これで無理だった場合

mv build/libs/*.jar ./
でプロジェクトのホームディレクトリに移動して

Procfile
web: java $JAVA_OPTS -jar {ファイル名}.jar  -Dserver.port=$PORT

に変更する

これで無理ならひたすらエラーをコピって検索に尽きる・・・

おまけ

$ heroku local

でローカル実行

まとめ

確実に実行できるjarファイルを用意してからherokuにdeploy!!そしてenjoy!!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0