0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CFアプリ開発と管理#5 アプリの起動、再起動、および再ステージ

Last updated at Posted at 2017-08-07

このトピックでは、Cloud Foundryでアプリケーションを起動、再起動、再ステージする方法について説明します。
コメント: IBM Bluemix では、Bluemix CLI として提供されています。bx cf としてサブコマンドとして利用します。

注意事項: この記事は、Cloud Foundry Documentaion Starting, Restarting, and Restaging Applications(last updated: November 22, 2016)からの独自の翻訳とコメントです。 内容を保証するものではありません。

アプリケーションの起動

アプリケーションを起動するには、アプリケーションのルートディレクトリから次のコマンドを実行します。

$ cf push YOUR-APP

アプリケーションのデプロイの詳細については、「アプリケーションのデプロイ」を参照してください。

Cloud Foundryは、次の3つのソースのいずれかからアプリケーションの開始コマンドを決定します。

  • Cloud Foundry CLI の -cコマンドラインオプション。 次の例を参照してください。
$ cf YOUR-APP -c "node YOUR-APP.js"
  • アプリケーション manifestでは、 次の例を参照してください。
    command: node YOUR-APP.js

  • 特定のタイプのアプリケーションに適した開始コマンドを提供するbuildpackを指定

Cloud Foundryが使用するソースは、以下に説明する要因によって異なります。

Cloud Foundryがデフォルトの開始コマンドをどのように決定するか

初めてアプリケーションをデプロイするとき、cf pushはデフォルトでbuildpack startコマンドを使用します。 その後、cf pushは、前のプッシュに使用された開始コマンドにデフォルト設定されます。

これらのデフォルトを上書きするには、-cオプションまたはマニフェストのコマンド属性を指定します。 コマンドラインとマニフェストの両方で開始コマンドを指定すると、cf pushはマニフェストのコマンドを無視します。

Cloud Foundry がビルドパックの開始コマンドを強制するには

Cloud Foundryが buildpack startコマンドを強制するには、startコマンドをnullに指定します。

null 開始コマンドは、次の2つの方法のいずれかで指定できます。

  • cf CLIで-cコマンドラインオプションを使用する:
$ cf push YOUR-APP -c "null"
  • アプリケーションのmanifestでコマンド属性を使用する

command: null

これは、コマンドラインまたはmanifestの開始コマンドでデプロイした後に役立ちます。 この時、buildpack startコマンドではなく、指定したコマンドが、デフォルトの開始コマンドになります。buildpack startを使用してデプロイする場合、nullを使用すると簡単に実行できます。

データベースの移行時に開始コマンド

アプリケーションのデプロイメントの一部としてデータベースを移行する場合は、開始コマンドが特別な方法で使用されます。 詳細については、「クラウド・ファウンドリでのデータベースの移行」を参照してください。

アプリケーションを再起動する

アプリケーションを再起動するには、次のコマンドを実行します。

$ cf restart YOUR-APP

アプリケーションを再起動すると、アプリケーションが停止し、すでにコンパイルされたドロップレットでアプリケーションが再起動されます。 dropletは、以下を含む tarball です。

  • stack
  • buildpack
  • application source code

Diegoセルは、コンテナにdropletを展開、コンパイル、実行します。

アプリケーションを再起動して、新しいサービスをアプリケーションにバインドする、またはアプリケーションだけが使用する環境変数を設定するなどのアクションの後に、アプリケーションの環境を更新します。 ただし、ビルドパックに、アプリケーションを加えるために、環境変数が必要となる場合は、変更を有効にするためにアプリケーションを再ステージする必要があります。

アプリケーションを再ステージする

アプリケーションを再ステージするには、次のコマンドを実行します。

$ cf restage YOUR-APP

アプリケーションを再ステージすると、新しいdropletをコンパイルして起動することによって、アプリケーションが停止し、アプリケーションが再開されます。

ビルドパックが使用する環境変数の設定など、ステージングプロセスに影響するように環境を変更した場合は、アプリケーションを停止してください。 ステージングプロセスは環境変数にアクセスできるため、環境はdropletの内容に影響を与える可能性があります。

アプリケーションを再ステージすると、アプリケーションのソースを更新することなく、アプリケーションから新しいdropletがコンパイルされます。 アプリケーションソースを更新する必要がある場合は、上記の手順に従ってアプリケーションを再プッシュします。

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?