AWS CodeCommit で EB CLI を使用する - AWS Elastic Beanstalk

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS CodeCommit で EB CLI を使用する

EB CLI を使用して、AWS CodeCommit リポジトリからアプリケーションを直接デプロイできます。CodeCommit では、プロジェクト全体をアップロードする代わりにデプロイする場合、リポジトリに対する変更のみをアップロードできます。これにより、大規模なプロジェクトまたは制限付きインターネット接続がある場合に、時間と帯域幅を節約できます。EB CLI ではローカルコミットをプッシュし、eb appversioneb create または eb deploy を使用する際にそれらを使用してアプリケーションバージョンを作成します。

変更をデプロイするには、CodeCommit 統合で変更をコミット最初に必要があります。ただし、開発またはデバッグで、動作することを確認していない変更をプッシュしたくない場合もあります。ステージングと eb deploy --staged を使用することで (標準デプロイを実行)、変更のコミットを回避できます。または変更をコミットして開発するか、ブランチを最初にテストして、コードの準備ができたときにのみメインラインブランチに統合します。eb use を使用すると、開発ブランチから 1 つの環境にデプロイし、メインラインブランチから別の環境にデプロイするよう EB CLI を設定できます。

注記

一部のリージョンでは、CodeCommit を使用できない場合があります。それらのリージョンでは、Elastic Beanstalk と CodeCommit の統合は有効ではありません。

各リージョンで提供されている AWS のサービスの詳細については、「リージョン表」を参照してください。

前提条件

AWS Elastic Beanstalk で CodeCommit を使用するには、CodeCommit を使用するアクセス許可を 1 つ以上コミットしたローカル Git リポジトリ (ユーザーがすでに持っているものまたは新しく作成したもの) と、CodeCommit がサポートするリージョンでの Elastic Beanstalk 環境が必要になります。環境およびリポジトリは同じリージョンにある必要があります。

Git リポジトリを初期化するには
  1. プロジェクトフォルダで git init を実行します。

    ~/my-app$ git init
  2. プロジェクトファイルを git add でステージングします。

    ~/my-app$ git add .
  3. git commit で変更をコミットします。

    ~/my-app$ git commit -m "Elastic Beanstalk application"

EB CLI で CodeCommit リポジトリを作成する

CodeCommit の使用を開始するには、eb init を実行します。リポジトリ設定中に、EB CLI は CodeCommit を使用してコードを保存してデプロイを高速化するよう求められます。以前に eb init でプロジェクトを設定している場合でも、再度それを実行して CodeCommit を設定できます。

EB CLI で CodeCommit リポジトリを作成するには
  1. プロジェクトフォルダーで eb init を実行します。設定中に、EB CLI は CodeCommit を使用してコードを保存してデプロイを高速化するかを尋ねます。前に eb init プロジェクトを設定している場合でも、再度それを実行して CodeCommit を設定できます。プロンプトが表示されたら、「y」を入力して CodeCommit をセットアップします。

    ~/my-app$ eb init Note: Elastic Beanstalk now supports AWS CodeCommit; a fully-managed source control service. To learn more, see Docs: https://aws.amazon.com/codecommit/ Do you wish to continue with CodeCommit? (y/n)(default is n): y
  2. [Create new Repository (新しいリポジトリの作成)] を選択します。

    Select a repository 1) my-repo 2) [ Create new Repository ] (default is 2): 2
  3. リポジトリの名前を入力するか、または [Enter] キーを押してデフォルト名を受け入れます。

    Enter Repository Name (default is "codecommit-origin"): my-app Successfully created repository: my-app
  4. コミット用の既存のブランチを選択するか、または EB CLI を使用して新しいブランチを作成します。

    Enter Branch Name ***** Must have at least one commit to create a new branch with CodeCommit ***** (default is "mainline"): ENTER Successfully created branch: mainline

CodeCommit リポジトリからのデプロイ

EB CLI リポジトリで CodeCommit を構成すると、EB CLI はリポジトリのコンテンツを使用してソースバンドルを作成します。eb deploy または eb create を実行すると、EB CLI が新しいコミットをプッシュし、ブランチの HEAD リビジョンを使用して、環境内の EC2 インスタンスにデプロイするアーカイブを作成します。

EB CLI で CodeCommit 統合を使用するには
  1. eb create で新しい環境を作成します。

    ~/my-app$ eb create my-app-env Starting environment deployment via CodeCommit --- Waiting for application versions to be pre-processed --- Finished processing application version app-ac1ea-161010_201918 Setting up default branch Environment details for: my-app-env Application name: my-app Region: us-east-2 Deployed Version: app-ac1ea-161010_201918 Environment ID: e-pm5mvvkfnd Platform: 64bit Amazon Linux 2016.03 v2.1.6 running Java 8 Tier: WebServer-Standard CNAME: UNKNOWN Updated: 2016-10-10 20:20:29.725000+00:00 Printing Status: INFO: createEnvironment is starting. ...

    EB CLI は追跡されるブランチで最新のコミットを使用して、環境にデプロイするアプリケーションバージョンを作成します。

  2. 新しいローカルコミットがある場合、eb deploy を使用して環境にコミットを直接プッシュします。

    ~/my-app$ eb deploy Starting environment deployment via CodeCommit INFO: Environment update is starting. INFO: Deploying new version to instance(s). INFO: New application version was deployed to running EC2 instances. INFO: Environment update completed successfully.
  3. それらをコミットする前に変更をテストするには、--staged オプションを使用して、git add でステージング領域に追加する変更をデプロイします。

    ~/my-app$ git add new-file ~/my-app$ eb deploy --staged

    --staged オプションをデプロイすると、スタンダードデプロイが実行され、CodeCommit をバイパスします。

追加ブランチと環境設定

CodeCommit 設定は、1 つのブランチに適用されます。eb use および eb codesource を使用して追加ブランチを設定するか、または現在のブランチの設定を変更できます。

EB CLI で CodeCommit 統合を設定するには
  1. リモートブランチを変更するには、eb use コマンドの --source オプションを使用します。

    ~/my-app$ eb use test-env --source my-app/test
  2. 新しいブランチと環境を作成するには、新しいブランチをチェックアウトして、それを CodeCommit にプッシュし、環境を作成してから、eb use を使用してローカルブランチ、リモートブランチ、環境に接続します。

    ~/my-app$ git checkout -b production ~/my-app$ git push --set-upstream production ~/my-app$ eb create production-env ~/my-app$ eb use --source my-app/production production-env
  3. CodeCommit をインタラクティブに設定するには、eb codesource codecommit を使用します。

    ~/my-app$ eb codesource codecommit Current CodeCommit setup: Repository: my-app Branch: test Do you wish to continue (y/n): y Select a repository 1) my-repo 2) my-app 3) [ Create new Repository ] (default is 2): 2 Select a branch 1) mainline 2) test 3) [ Create new Branch with local HEAD ] (default is 1): 1
  4. CodeCommit の統合を無効にするには、eb codesource local を使用します。

    ~/my-app$ eb codesource local Current CodeCommit setup: Repository: my-app Branch: mainline Default set to use local sources

既存の CodeCommit リポジトリの使用

既に CodeCommit リポジトリがあり、Elastic Beanstalk でこれを使用するには、ローカル Git リポジトリのルートで eb init を実行します。

EB CLI で既存の CodeCommit リポジトリを使用するには
  1. CodeCommit リポジトリをクローンします。

    ~$ git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/my-app
  2. ブランチをチェックアウトしてプッシュし、Elastic Beanstalk 環境で使用します。

    ~/my-app$ git checkout -b dev-env ~/my-app$ git push --set-upstream origin dev-env
  3. eb init を実行します。現在使用しているものと同じリージョン、リポジトリ、ブランチの名前を付けます。

    ~/my-app$ eb init Select a default region 1) us-east-1 : US East (N. Virginia) 2) us-west-1 : US West (N. California) 3) us-west-2 : US West (Oregon) 4) eu-west-1 : Europe (Ireland) 5) eu-central-1 : Europe (Frankfurt) 6) ap-south-1 : Asia Pacific (Mumbai) 7) ap-southeast-1 : Asia Pacific (Singapore) ... (default is 3): 1 ... Note: Elastic Beanstalk now supports AWS CodeCommit; a fully-managed source control service. To learn more, see Docs: https://aws.amazon.com/codecommit/ Do you wish to continue with CodeCommit? (y/n)(default is n): y Select a repository 1) my-app 2) [ Create new Repository ] (default is 1): 1 Select a branch 1) mainline 2) dev-env 3) [ Create new Branch with local HEAD ] (default is 2): 2

eb init の使用方法の詳細については、「EB CLI の設定」を参照してください。