メニュー
AWS Elastic Beanstalk
開発者ガイド (API Version 2010-12-01)

Git での EB CLI の使用

EB CLI は、Git と連携して使用することができます。このセクションでは、EB CLI で Git を使用する方法の概要を説明します。

Git をインストールして Git リポジトリを初期化するには

  1. http://git-scm.com にアクセスして、Git の最新バージョンをダウンロードします。

  2. 次のコマンドを入力して、Git リポジトリを初期化します。

    ~/eb$ git init

    これで、EB CLI は、アプリケーションが Git を使ってセットアップされることを認識します。

  3. eb init をまだ実行していない場合は、ここで実行します。

    ~/eb$ eb init

Elastic Beanstalk 環境と Git ブランチの関連付け

コードの各ブランチに異なる環境を関連付けることができます。ブランチをチェックアウトすると、変更は関連付けられた環境にデプロイされます。たとえば、次のように入力すると、本番環境をマスターブランチに関連付け、別の開発環境を開発ブランチに関連付けることができます。

~/eb$ git checkout master
~/eb$ eb use prod
~/eb$ git checkout develop
~/eb$ eb use dev

変更のデプロイ

デフォルトでは、EB CLI はコミット ID およびメッセージをそれぞれアプリケーションバージョンラベルと説明として使用して、最新のコミットを現在のブランチでデプロイします。コミットしない環境にデプロイする場合は、--staged を使用して、ステージング領域に追加された変更をデプロイするオプションを使用できます。

変更をコミットしないでデプロイするには

  1. 新しいファイルと変更されたファイルをステージング領域に追加します。

    ~/eb$ git add .
  2. eb deploy を使用してステージングされた変更をデプロイします。

    ~/eb$ eb deploy --staged

EB CLI がアーチファクトをデプロイするように設定しており、アーチファクトを Git リポジトリにコミットしていない場合は、--staged オプションを使用して最新のビルドをデプロイします。

Git サブモジュールの使用

一部のコードプロジェクトは、Git サブモジュール (最上位レポジトリ内のレポジトリ) から利点を得られます。eb create または eb deploy を使用してコードをデプロイするときに、EB CLI は、アプリケーションバージョンの zip ファイルにサブモジュールを含め、コードと他の部分とともにアップロードできます。

プロジェクトフォルダの EB CLI 設定ファイル .elasticbeanstalk/config.ymlglobal セクションで include_git_submodules オプションを使用して、サブモジュールのインクルードを制御できます。

サブモジュールを含めるには、このオプションを true に設定します。

global:
  include_git_submodules: true

include_git_submodules オプションが見つからないか、false に設定されている場合、EB CLI はアップロードされた zip ファイルにサブモジュールを含めません。

Git サブモジュールの詳細については、「Git ツール - サブモジュール」を参照してください。

デフォルトの動作

eb init を実行してプロジェクトを設定すると、EB CLI は include_git_submodules オプションを追加し、true に設定します。これにより、プロジェクト内のサブモジュールが確実にデプロイに含まれます。

EB CLI は常にサブモジュールのインクルードをサポートしていませんでした。サブモジュールのサポートが追加される前に存在していた、プロジェクトに対する偶発的または望ましくない変更を避けるため、include_git_submodules オプションが見つからない場合、EB CLI はサブモジュールを含めません。これら既存のプロジェクトの 1 つがあり、デプロイにサブモジュールを含める場合は、このセクションで説明しているように、オプションを追加し、それを true に設定します。

CodeCommit の動作

AWS CodeCommit と統合された Elastic Beanstalk は、現時点ではサブモジュールをサポートしていません。環境で AWS CodeCommit との統合を有効にした場合、サブモジュールはデプロイに含まれません。

Git タグのアプリケーションバージョンへの割り当て

Git タグをバージョンラベルとして使用し、環境で実行されているアプリケーションバージョンを識別できます。たとえば、次のコマンドを入力します。

~/eb$ git tag -a v1.0 -m "My version 1.0"