Skip Navigation
Show nav
Heroku Dev Center
  • Get Started
  • ドキュメント
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
  • ドキュメント
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up

Heroku スターターガイド (Scala および Play)

​はじめに

このチュートリアルでは、Scala アプリをデプロイする方法を簡単に紹介します。この例のアプリは、Play Framework を使用してビルトされています。

少し時間を取って仕組みを学び、Heroku を最大限に活用できるようにしましょう。

このチュートリアルでは、以下が用意されていることを前提としています。

  • 無料の ​Heroku アカウント​。
  • ​sbt​ または ​activator​ がインストールされていること。

​設定する

Heroku CLI には、一般によく使われている Git​ というバージョン管理システムが必要です。Git がまだインストールされていない場合は、先に進む前に次の手順を完了してください。

  • ​Git のインストール
  • ​Git の初期設定

このステップでは、Heroku Command Line Interface (CLI) をインストールします。CLI は、アプリケーションの管理やスケール、アドオンのプロビジョニング、アプリケーションログの表示、アプリケーションのローカル実行に使用します。

お使いのプラットフォーム用のインストーラをダウンロードし、実行してください。

apple ロゴ​macOS

​インストーラをダウンロード

​Homebrew からも入手できます。

$ brew install heroku/brew/heroku
windows ロゴ​Windows

​お使いの Windows に合ったインストーラをダウンロードします。

​64 ビット用インストーラ

​32 ビット用インストーラ

ubuntu ロゴ​Ubuntu 16 以降

​ターミナルで以下を実行します。

$ sudo snap install heroku --classic

​その他の Linux OS では Snap も利用できます​。

インストールしたら、コマンドシェルで heroku​ コマンドを使用できます。

​Windows では、コマンドプロンプト (cmd.exe) または Powershell を起動して、コマンドシェルを開きます。

heroku login​ コマンドを使って Heroku CLI にログインします。

$ heroku login
heroku: Press any key to open up the browser to login or q to exit
 ›   Warning: If browser does not open, visit
 ›   https://cli-auth.heroku.com/auth/browser/***
heroku: Waiting for login...
Logging in... done
Logged in as me@example.com

このコマンドにより、Web ブラウザで Heroku ログインページが開きます。ブラウザですでに Heroku にログインしている場合は、ページに表示されている[Log in]​ (ログイン) ボタンをクリックします。

この認証は、heroku​ と git​ コマンドが正常に動作するために必要な操作です。

外部の HTTP/HTTPS サービスへの接続にプロキシの使用が必要なファイアウォールを使っている場合は、heroku​ コマンドを実行する前に、ローカルの開発環境で HTTP_PROXY​ または HTTPS_PROXY​ 環境変数を設定​できます。

​アプリを準備する

このステップでは、Heroku にデプロイできるサンプルアプリケーションを準備します。

Heroku をはじめて使う場合は、 Heroku が提供するサンプルアプリケーションを使ってこのチュートリアルを行うことをお勧めします。

ただし、デプロイする既存のアプリケーションを用意してある場合は、 Heroku へのデプロイを準備する方法について、​この記事​を 参照してください。

サンプルアプリケーションをクローンして、Heroku にデプロイするコードのローカルバージョンを作成するには、ローカルのコマンドシェルまたはターミナルで次のコマンドを実行します。

$ git clone https://github.com/heroku/scala-getting-started.git
$ cd scala-getting-started

これで、シンプルなアプリケーションと、Scala の依存関係マネージャである sbt が使用する build.sbt​ ファイルを格納した、正常な Git リポジトリを準備できました。

​アプリをデプロイする

このステップでは、アプリを Heroku にデプロイします。

Heroku でアプリを作成すると、Heroku でソースコードを受け取ることができるよう準備できます。

$ heroku create
Creating nameless-lake-8055 in organization heroku... done, stack is heroku-20
http://nameless-lake-8055.herokuapp.com/ | https://git.heroku.com/nameless-lake-8055.git
Git remote heroku added

アプリを作成すると、heroku​ という名前の Git リモートリポジトリも作成され、ローカルの Git リポジトリと関連付けられます。

Heroku によってランダムなアプリ名 (この場合は nameless-lake-8055​) が生成されます。パラメータを渡して独自のアプリ名を指定することもできます。

コードをデプロイします。

$ git push heroku main
Counting objects: 29, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (24/24), done.
Writing objects: 100% (29/29), 5.89 KiB | 0 bytes/s, done.
Total 29 (delta 0), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Play 2.x - Scala app detected
remote: -----> Installing OpenJDK 1.8... done
remote: -----> Priming Ivy cache (Scala-2.11, Play-2.3)... done
remote: -----> Running: sbt compile stage
remote:        Downloading sbt launcher for 0.13.8:
remote:          From  http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.8/sbt-launch.jar
remote:            To  /tmp/scala_buildpack_build_dir/.sbt_home/launchers/0.13.8/sbt-launch.jar
remote:        OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=384m; support was removed in 8.0
remote:        Getting org.scala-sbt sbt 0.13.8 ...
remote:        downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt/0.13.8/jars/sbt.jar ...
remote:         [SUCCESSFUL ] org.scala-sbt#sbt;0.13.8!sbt.jar (85ms)
...
remote:        [info] Done packaging.
remote:        [success] Total time: 20 s, completed Apr 15, 2015 7:42:31 PM
remote: -----> Dropping ivy cache from the slug
remote: -----> Dropping sbt boot dir from the slug
remote: -----> Dropping compilation artifacts from the slug
remote: -----> Discovering process types
remote:        Procfile declares types            -> (none)
remote:        Default types for Play 2.x - Scala -> web

アプリ名で生成された URL にあるアプリを開きます。 次のショートカットを使うと、簡単に Web サイトを開くことができます。

$ heroku open

​ログを表示する

Heroku では、すべてのアプリと Heroku コンポーネントの出力ストリームを、時系列のイベントストリームに集約してログを作成するため、1 か所ですべてのイベントを確認できます。

実行中のアプリに関する情報を表示するには、ログコマンド​の 1 つである、heroku logs --tail​ を使います。

$ heroku logs --tail
2015-04-15T19:43:23.035646+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS: -Xmx384m -Xss512k -Dfile.encoding=UTF-8 -Djava.rmi.server.useCodebaseOnly=true
2015-04-15T19:43:23.453052+00:00 app[web.1]: Play server process ID is 3
2015-04-15T19:43:25.088586+00:00 app[web.1]: [info] application - Application has started
2015-04-15T19:43:25.113442+00:00 app[web.1]: [info] play - Application started (Prod)
2015-04-15T19:43:25.532132+00:00 app[web.1]: [info] play - Listening for HTTP on /0:0:0:0:0:0:0:0:41695
2015-04-15T19:43:25.957858+00:00 heroku[web.1]: State changed from starting to up
2015-04-15T19:48:46.841884+00:00 heroku[router]: at=info method=GET path="/" host=nameless-lake-8055.herokuapp.com request_id=b183fc3f-503c-4943-90a2-eb1f1e7bce39 fwd="68.32.164.116" dyno=web.1 connect=1ms service=490ms status=200 bytes=559

ブラウザで再びアプリケーションを表示すると、別のログメッセージが生成されます。

ログのストリーム出力を停止するには、Control+C​ を押します。

​Procfile を定義する

Procfile​ は、アプリケーションのルートディレクトリにあるテキストファイルです。このファイルを使って、アプリの起動時に実行するコマンドを明示的に宣言します。

先ほどデプロイしたサンプルアプリの Procfile​ は、次のようになっています。

web: target/universal/stage/bin/play-getting-started -Dhttp.port=${PORT}

単一のプロセスタイプの web​ と、その実行に必要なコマンドを宣言しています。 ここでは、web​ という名前が重要です。 これは、このプロセスタイプを Heroku の HTTP ルーティング​スタックにアタッチし、デプロイ後に Web トラフィックを受信することを宣言しています。

​Procfile​ の構文は重要です。Heroku では、Web dyno の起動時に、ここで指定されたコマンドがそのまま Unix 環境で実行されます。

​Windows のローカル環境で実行すると、Unix での環境変数 (​$PORT​) の受け渡し方法とパスの結合方法 (​:​​) は互換性がないため、エラーになる可能性があります。

​この例には、​Procfile.windows​ も入っています。このファイルは、​web: target/universal/stage/bin/play-getting-started -Dhttp.port=%PORT%​ のようになっています。

​heroku local​ でアプリを実行する指示が表示されたら、​-f Procfile.windows​ フラグを追加して、Windows 固有の Procfile が選択されるようにします。 たとえば、​heroku local web -f Procfile.windows​ のようになります。

Procfile には追加のプロセスタイプを含めることができます。 たとえば、アイテムをキューから外す処理を実行するバックグラウンドプロセスを追加で宣言できます。

​アプリをスケールする

現在、アプリは単一の Web dyno​ で実行されています。 dyno とは、Procfile​ で指定されているコマンドを実行する軽量のコンテナのようなものです。

実行されている dyno の数を確認するには、ps​ コマンドを使います。

$ heroku ps
=== web (Free): `target/universal/stage/bin/play-getting-started -Dhttp.port=$PORT`
web.1: up 2014/08/14 11:10:07 (~ 3m ago)

デフォルトでは、アプリは Free dyno でデプロイされます。Free dyno は、アイドル状態 (トラフィックを何も受信しない状態) が 30 分続くとスリープします。​ スリープすると、スリープ解除するときの最初のリクエスト時に数秒の遅延が発生します。その後のリクエストは正常に処理されます。 Free dyno は、月ごとに割り当てられるアカウント別の Free dyno 時間​を消費します。割り当て時間が残っている限り、無料のアプリはすべて稼働し続けます。

dyno がスリープしないようにするには、「dyno タイプ​」の記事で紹介されている Hobby または Professional の dyno タイプにアップグレードできます。たとえば、アプリを Professional dyno に移行すると、Heroku に特定の数の dyno の実行を指示するコマンドを実行し、各 dyno で Web プロセスタイプを実行させて、アプリを簡単にスケールすることができます。

Heroku でアプリケーションをスケールするとは、実行する dyno の数を変更することを意味します。 Web dyno の数を 0 にスケールしてみます。

$ heroku ps:scale web=0

ブラウザのタブで更新ボタンを押してアプリにアクセスするか、heroku open​ コマンドを使ってブラウザのタブで開きます。 リクエストに応答できる Web dyno がないので、エラーメッセージが表示されます。

もう一度スケールしてみましょう。

$ heroku ps:scale web=1

不正操作を防止するため、有料のアプリケーションを 2 つ以上の dyno にスケールするには、アカウントの確認​が必要です。

​アプリの依存関係を宣言する

Heroku では、アプリのルートディレクトリに build.sbt​ ファイルがあると、そのアプリを Scala と認識します。

デプロイしたデモ用アプリには、事前に build.sbt​ が用意されています (こちらを参照)​。次に一部を抜粋して示します。

name := """play-getting-started"""

version := "1.0-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayScala)

scalaVersion := "2.11.1"

libraryDependencies ++= Seq(
  jdbc,
  cache,
  ws
)

build.sbt​ ファイルでは、アプリケーションと一緒にインストールする必要がある依存関係を指定します。 アプリをデプロイすると、Heroku はこのファイルを読み出し、sbt compile stage​ コマンドを使用して依存関係をインストールします。

別の system.properties​ ファイルで、使用する Java のバージョンが判断されます。このファイル (オプション) の内容は、とても簡単です。

java.runtime.version=1.8

ローカルディレクトリで sbt compile stage​ を実行して依存関係をインストールし、アプリをローカルで実行できるようにシステムを準備します。

$ sbt compile stage
[info] Loading project definition from /private/tmp/play-getting-started/project
[info] Updating {file:/private/tmp/play-getting-started/project/}play-getting-started-build...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Set current project to play-getting-started (in build file:/private/tmp/play-getting-started/)
[info] Updating {file:/private/tmp/play-getting-started/}root...
[info] Resolving jline#jline;2.11 ...
...
[info] Done packaging.
[info] Packaging /private/tmp/play-getting-started/target/play-getting-started-1.0-SNAPSHOT-assets.jar ...
[info] Done packaging.
model contains 19 documentable templates
[info] Main Scala API documentation successful.
[info] Packaging /private/tmp/play-getting-started/target/scala-2.11/play-getting-started_2.11-1.0-SNAPSHOT-javadoc.jar ...
[info] Done packaging.
[success] Total time: 7 s, completed Apr 15, 2015 2:53:03 PM

依存関係がインストールされたら、アプリをローカルで実行する準備は完了です。

​アプリをローカルで実行する

heroku local​ コマンドを使ってアプリケーションをローカルで起動します。このコマンドは、Heroku CLI の一部としてインストールされています。

​$ heroku local web ​-f Procfile.windows
14:56:42 web.1  | started with pid 31232
14:56:43 web.1  | Play server process ID is 31232
14:56:43 web.1  | [info] play - Application started (Prod)
14:56:43 web.1  | [info] play - Listening for HTTP on /0:0:0:0:0:0:0:0:​​9000​5000

Heroku と同じように、heroku local​ も Procfile​ を確認して実行する内容を判断します。

Web ブラウザで ​http://localhost:5000​http://localhost:9000​ を開きます。ローカルで実行されているアプリが表示されます。

アプリのローカルでの実行を停止するには、ターミナルウィンドウに戻り、Ctrl​ + C​ を押して終了します。

​ローカルの変更をプッシュする

このステップでは、アプリケーションへのローカルでの変更を Heroku に反映させる方法を学びます。 例として、アプリケーションを変更して依存関係を追加し、それを使用するコードも追加します。

build.sbt​ を編集して、jscience​ の依存関係を追加します。 libraryDependencies​ セクションは次のようになります。

libraryDependencies ++= Seq(
  jdbc,
  cache,
  ws,
  "org.jscience" % "jscience" % "4.3.1"
)

起動時にこのライブラリが読み込まれるように、app/controllers/Application.scala​ を編集します。

import javax.measure.unit.SI.KILOGRAM
import javax.measure.quantity.Mass
import org.jscience.physics.model.RelativisticModel
import org.jscience.physics.amount.Amount

このコードを使用する新しいルートアクションを追加します。 次のようになります。

object Application extends Controller {

  def index = Action {
    RelativisticModel.select()
    val m = Amount.valueOf("12 GeV").to(KILOGRAM)
    val testRelativity = s"E=mc^2: 12 GeV = $m"
    Ok(views.html.index(testRelativity))
  }

  ...

}

ローカルでテストします。

$ sbt compile stage
$ heroku local web

​http://localhost:5000​http://localhost:9000​ でアプリケーションにアクセスすると、高度な科学の対話が表示されます。

E=mc^2: 12 GeV = (2.139194076302506E-26 ± 1.4E-42) kg

次にデプロイします。 Heroku へのデプロイは、ほとんどの場合、このパターンで行います。 まず、変更したファイルをローカルの Git リポジトリに追加します。

$ git add .

次に、変更内容をリポジトリにコミットします。

$ git commit -m "Demo"

前と同じ方法でデプロイします。

$ git push heroku main

最後に、すべて正常に動作しているかどうかを確認します。

$ heroku open

​アドオンをプロビジョニングする

アドオンは、アプリケーションですぐに使える追加サービスを提供するサードパーティのクラウドサービスです。永続性、ログ記録、モニタリングなど、さまざまなアドオンがあります。

Heroku では、デフォルトで 1500 行のアプリケーションログが記録されますが、 完全なログストリームもサービスとして提供しています。複数のアドオンプロバイダがこのサービスを利用し、ログの永続化、検索、メールや SMS 通知などの機能を実現するログサービスを提供しています。

このステップでは、このようなログに関するアドオンの 1 つである、Papertrail をプロビジョニングします。

Papertrail​ のアドオンをプロビジョニングします。

$ heroku addons:create papertrail
Adding papertrail on warm-eyrie-9006... done, v8 (free)
Welcome to Papertrail. Questions and ideas are welcome (support@papertrailapp.com). Happy logging!
Use `heroku addons:docs papertrail` to view documentation.

不正操作を防止するため、アドオンのプロビジョニングにはアカウントの確認​が必要です。アカウントが未確認の場合は、確認用ページ​に転送されます。

アドオンがデプロイされ、アプリケーション用に設定されました。 アプリのアドオンは、次のコマンドで一覧表示できます。

$ heroku addons

このアドオンが動作していることを確認するため、アプリケーションの Heroku URL に数回アクセスします。アクセスする度にログメッセージが生成され、Papertrail のアドオンに送られるようになります。 Papertrail のコンソールにアクセスし、ログメッセージを確認します。

$ heroku addons:open papertrail

ブラウザで Papertrail の Web コンソールが開き、最新のログイベントが表示されます。 このインターフェースでは、検索したり通知を設定したりできます。

イメージ

このアドオンでは、初期設定の後、ログイベントの受け渡しが開始されるまでに数分かかる場合があります。

​One-off dyno を起動する

One-off dyno​ で、heroku run​ コマンドを使ってコマンド (通常はアプリの一部を構成するスクリプトやアプリケーション) を実行できます。 このコマンドでは、アプリの環境で試行錯誤するためにローカルのターミナルにアタッチされたコンソールプロセスを起動したり、アプリケーションでデプロイしたコードを起動することもできます。

$ heroku run console
Running `console` attached to terminal... up, run.9125
Picked up JAVA_TOOL_OPTIONS: -Xmx384m -Xss512k -Dfile.encoding=UTF-8 -Djava.rmi.server.useCodebaseOnly=true
Failed to created JLineReader: java.lang.NoClassDefFoundError: jline/console/completer/Completer
Falling back to SimpleReader.
Welcome to Scala
Type in expressions to have them evaluated.
Type :help for more information.

scala> import javax.measure.unit.SI.KILOGRAM
scala> import javax.measure.quantity.Mass
scala> import org.jscience.physics.model.RelativisticModel
scala> import org.jscience.physics.amount.Amount
scala> RelativisticModel.select()
scala> Amount.valueOf("2 GeV").to(KILOGRAM)
res4: org.jscience.physics.amount.Amount[javax.measure.quantity.Mass] = (3.5653234605041767E-27 ? 3.6E-43) kg

必ず Ctrl-C を入力してシェルを閉じ、dyno を終了してください。

Error connecting to process​ というエラーが表示された場合は、ファイアウォールの設定​が必要な可能性があります。

​環境設定を定義する

Heroku では、設定を外部に置き、暗号鍵や外部リソースのアドレスなどのデータを環境設定​に保存できます。

環境設定は、ランタイムに環境変数としてアプリケーションに提供されます。 例として、app/controllers/Application.scala​ を編集し、環境変数 ENERGY​ から energy の値を取得するメソッドを追加します。

object Application extends Controller {
  def index = Action {
    RelativisticModel.select()
    val energy = scala.util.Properties.envOrElse("ENERGY", "12 GeV")
    val m = Amount.valueOf(energy).to(KILOGRAM)
    val testRelativity = s"E=mc^2: $energy = $m"
    Ok(views.html.index(testRelativity))
  }
}

次に、sbt compile stage​ を実行してこの変更が統合されるように、アプリをもう一度コンパイルします。

heroku local​ は、ローカルディレクトリにある .env​ ファイルの内容に応じて、環境を自動的に設定します。 プロジェクトのトップレベルディレクトリにはすでに .env​ ファイルがあり、以下の行が含まれています。

ENERGY=20 GeV

heroku local​ でアプリを実行して ​http://localhost:5000​http://localhost:9000​ にアクセスすると、対話の値として 20 GeV が表示されます。

Heroku で環境設定を設定するには、次のコマンドを実行します。

$ heroku config:set ENERGY="20 GeV"
Setting config vars and restarting warm-eyrie-9006... done, v10
ENERGY: 20 GeV

heroku config​ を使って設定した環境設定を表示します。

$ heroku config
== nameless-lake-8055 Config Vars
PAPERTRAIL_API_TOKEN: erdKhPeeeehIcdfY7ne
ENERGY: 20 GeV
...

変更したアプリケーションを Heroku にデプロイして、動作を確認します。

​データベースを使用する

add-on marketplace​ には、Redis や MongoDB、Postgres、MySQL など、多数のデータストアが揃っています。 このステップでは、無料の Heroku Postgres アドオンについて学びます。このアドオンは、どの Scala アプリをデプロイした場合も、自動的にプロビジョニングされます。

データベースはアドオンなので、CLI で addons​ コマンドを使うと、アプリにプロビジョニングされたデータベースの詳細についてもう少し確認できます。

$ heroku addons
=== nameless-lake-8055 Configured Add-ons
heroku-postgresql:hobby-dev  HEROKU_POSTGRESQL_BLUE
papertrail:choklad
...

アプリの環境設定を一覧表示すると、アプリがデータベースに接続するときに使用する URL (DATABASE_URL​) が表示されます。

$ heroku config
=== nameless-lake-8055 Config Vars
DATABASE_URL:               postgres://qplhasewkhqyxp:YXDPSRus9MrU4HglCPzjhOevee@ec2-54-204-47-58.compute-1.amazonaws.com:5432/dc9qsdnghia6v1
...

Heroku には、さらに詳細を表示する pg​ コマンドもあります。

$ heroku pg
== HEROKU_POSTGRESQL_BLUE_URL (DATABASE_URL)
Plan:        Hobby-dev
Status:      Available
Connections: 0
PG Version:  9.4.1
Created:     2014-08-08 13:54 UTC
Data Size:   6.5 MB
Tables:      0
Rows:        1/10000 (In compliance)
Fork/Follow: Unsupported
Rollback:    Unsupported

表示内容から、Hobby のデータベース (無料) を使っており、実行している Postgres のバージョンは 9.4 で、1 行のデータがあることがわかります。

デプロイしたサンプルアプリにはデータベース機能が備わっています。アプリケーションの conf/application.conf​ ファイル内の以下の行について、コメントを解除して有効にします。

db.default.driver=org.postgresql.Driver
db.default.url=${DATABASE_URL}

db.default.url​ プロパティでデータベースアドオンによって設定された環境変数 DATABASE_URL​ が取得され、Play がその値を使用して接続を確立します。

データベースにアクセスするコードは、app/controllers/Application.scala​ にあります。db​ アクションで、tick​ という名前のテーブルに値が挿入されます。

def db = Action {
    var out = ""
    val conn = DB.getConnection()
    try {
        val stmt = conn.createStatement
        stmt.executeUpdate("CREATE TABLE IF NOT EXISTS ticks (tick timestamp)")
        stmt.executeUpdate("INSERT INTO ticks VALUES (now())")

        val rs = stmt.executeQuery("SELECT tick FROM ticks")

        while (rs.next) {
            out += "Read from DB: " + rs.getTimestamp("tick") + "\n"
        }
    } finally {
        conn.close()
    }
    Ok(out)
}

これにより、/db​ ルートを使用してアプリにアクセスすると、tick​ テーブルに新しい行が追加され、その後、出力で描画できるようにすべての行が返されます。

次に、以下のコマンドを実行して、変更をコミットし、再デプロイします。

$ git add conf/application.conf
$ git commit -m "Added db"
$ git push heroku main

アプリの /db​ ルートにアクセスすると、次のように表示されます。

Read from DB: 2014-08-08 14:48:25.155241
Read from DB: 2014-08-08 14:51:32.287816
Read from DB: 2014-08-08 14:51:52.667683

ローカル環境に Postgres がインストールされている​という前提で、heroku pg:psql​ コマンドを使ってリモートデータベースに接続し、すべての行を表示します。

$ heroku pg:psql
heroku pg:psql
psql (9.3.2, server 9.3.3)
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
Type "help" for help.
=> SELECT * FROM ticks;
            tick
----------------------------
 2014-08-08 14:48:25.155241
 2014-08-08 14:51:32.287816
 2014-08-08 14:51:52.667683
 2014-08-08 14:51:53.1871
 2014-08-08 14:51:54.75061
 2014-08-08 14:51:55.161848
 2014-08-08 14:51:56.197663
 2014-08-08 14:51:56.851729
(8 rows)
=> \q

詳細は、「Heroku Postgres​」を参照してください。

MongoDB や Redis のアドオン​をインストールするときも、同様のテクニックを利用できます。

次のステップ

ここまで、アプリのデプロイ、アプリの設定変更、ログの表示、スケール、アドオンのアタッチを行う方法を説明しました。

次にお勧めするリソースを紹介します。 1 つ目の記事では、基本的な理解をさらに深めることができます。 2 つ目のリンクからは、この Dev Center にある Scala カテゴリをご覧いただけます。

  • 「Heroku の仕組み​」では、アプリケーションの作成、設定、デプロイ、および実行時に必要な技術的な概念の概要を紹介しています。
  • 「Heroku で Scala アプリをデプロイする​」では、既存の Scala アプリを Heroku にデプロイする方法を紹介しています。
  • 「Heroku の Play Framework サポート​」では、Heroku での Play のサポートについての詳細を紹介しています。
  • Play および Scala のカテゴリ​では、Play と Scala のアプリケーションの開発とデプロイに関する詳細を確認できます。
  • Heroku の開発者としての体験および CI/CD 機能についての詳細は、「Heroku Enterprise Developer Learning Journey​」を参照してください。

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Podcasts
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing

Subscribe to our monthly newsletter

Your email address:

  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Heroku Podcasts
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Facebook
  • Instagram
  • Github
  • LinkedIn
  • YouTube
Heroku is acompany

 © Salesforce.com

  • heroku.com
  • Terms of Service
  • Privacy
  • Cookies
  • Cookie Preferences