

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

# チュートリアル: CodeDeploy を使用して、GitHub からアプリケーションをデプロイします。
<a name="tutorials-github"></a>

このチュートリアルでは、CodeDeploy を使用して GitHub からサンプルアプリケーションリビジョンを、Amazon Linux を実行している単一の Amazon EC2 インスタンス、単一の Red Hat Enterprise Linux (RHEL) インスタンス、または単一の Windows サーバーインスタンスにデプロイします。GitHub と CodeDeploy の統合については、[GitHub と CodeDeploy との統合](integrations-partners-github.md) を参照してください。

**注記**  
CodeDeploy を使用して、アプリケーションリビジョンを GitHub から Ubuntu サーバーインスタンスにデプロイすることもできます。[ステップ 2: サンプルのアプリケーションリビジョンを作成する](tutorials-on-premises-instance-2-create-sample-revision.md) の [チュートリアル: CodeDeploy (Windows サーバー、Ubuntu サーバー、または Red Hat エンタープライズ Linux) を使用してオンプレミスインスタンスにアプリケーションをデプロイします。](tutorials-on-premises-instance.md) の中に記述されているサンプルリビジョンを使用するか、Ubuntu サーバーインスタンスおよび CodeDeploy と互換性があるリビジョンを作成できます。独自のリビジョンを作成するには、[CodeDeploy のリビジョンを計画する](application-revisions-plan.md) と [CodeDeploy 用のアプリケーション仕様ファイルをリビジョンに追加](application-revisions-appspec-file.md) を参照してください。

**Topics**
+ [前提条件](tutorials-github-prerequisites.md)
+ [ステップ 1: GitHub アカウントを設定します。](tutorials-github-create-github-account.md)
+ [ステップ 2: GitHub リポジトリを作成します。](tutorials-github-create-github-repository.md)
+ [ステップ 3: GitHub リポジトリにサンプルアプリケーションをアップロードします。](tutorials-github-upload-sample-revision.md)
+ [ステップ 4: インスタンスをプロビジョニングします。](tutorials-github-provision-instance.md)
+ [ステップ 5: アプリケーションおよびデプロイグループを作成します。](tutorials-github-create-application.md)
+ [ステップ 6: アプリケーションをインスタンスにデプロイします。](tutorials-github-deploy-application.md)
+ [ステップ 7: デプロイをモニタリングおよび確認します。](tutorials-github-verify.md)
+ [ステップ 8: クリーンアップする](tutorials-github-clean-up.md)

# 前提条件
<a name="tutorials-github-prerequisites"></a>

このチュートリアルを開始する前に、以下を実行します。
+ ローカルマシンで Git をインストールします。Git をインストールするには、[Git downloads](http://git-scm.com/downloads) を参照してください。
+  AWS CLIのインストールと設定を含む、「[CodeDeploy の開始方法](getting-started-codedeploy.md)」の手順を完了します。これは、 を使用して GitHub からインスタンス AWS CLI にリビジョンをデプロイする場合に特に重要です。

# ステップ 1: GitHub アカウントを設定します。
<a name="tutorials-github-create-github-account"></a>

リビジョンが保存される GitHub リポジトリを作成するには、GitHub アカウントが必要です。すでに GitHub アカウントをお持ちの場合は、[ステップ 2: GitHub リポジトリを作成します。](tutorials-github-create-github-repository.md) に進んでください。

1. [https://github.com/join](https://github.com) にアクセスします。

1. ユーザー名、E メールアドレス、パスワードを入力します。

1. [**Sign up for GitHub**] を選択し、指示に従います。

# ステップ 2: GitHub リポジトリを作成します。
<a name="tutorials-github-create-github-repository"></a>

リビジョンを保存するには、GitHub リポジトリが必要です。

すでに GitHub リポジトリがある場合は、このチュートリアル全体で **CodeDeployGitHubDemo** の名前を必ず置き換えて、「[ステップ 3: GitHub リポジトリにサンプルアプリケーションをアップロードします。](tutorials-github-upload-sample-revision.md)」に進んでください。

1. [GitHub home page](https://github.com/dashboard) で、次のいずれかの操作を実行します。
   + [**Your repositories**] で、[**New repository**] を選択します。
   + ナビゲーションバーで、[**Create new** (**\$1**)] を選択し、[**New repository**] を選択します。

1. [**Create a new repository**] ページで、次の操作を実行します。
   + [**リポジトリ名**] ボックスに「**CodeDeployGitHubDemo**」と入力します。
   + [**Public**] を選択します。
**注記**  
デフォルトの [**Public**] オプションを選択すると、誰でもこのリポジトリを表示できます。[**プライベート**] オプションを選択して、リポジトリを表示してコミットできるユーザーを制限できます。
   + [**Initialize this repository with a README**] チェックボックスをオフにします。代わりに、次のステップでは、`README.md` ファイルを手動で作成します。
   + [**Create repository (リポジトリの作成)**] を選択します。

1. ローカルマシンタイプ別の手順に従い、コマンドラインを使用してリポジトリを作成します。
**注記**  
GitHub で 2 要素認証を有効にした場合、パスワードの入力を求められたら、GitHub のログインパスワードの代わりに必ず個人アクセストークンを入力するようにしてください。詳細については、[Providing your 2FA authentication code](https://help.github.com/articles/providing-your-2fa-authentication-code/) を参照してください。

**ローカル Linux、macOS、Unix マシンについて**

1. ターミナルから、次のコマンドを一度に 1 つずつ実行します。*user-name* は GitHub のユーザー名です。

   ```
   mkdir /tmp/CodeDeployGitHubDemo
   ```

   ```
   cd /tmp/CodeDeployGitHubDemo
   ```

   ```
   touch README.md
   ```

   ```
   git init
   ```

   ```
   git add README.md
   ```

   ```
   git commit -m "My first commit"
   ```

   ```
   git remote add origin https://github.com/user-name/CodeDeployGitHubDemo.git
   ```

   ```
   git push -u origin master
   ```

1. ターミナルを `/tmp/CodeDeployGitHubDemo` の場所で開いたままにします。

**ローカル Windows マシンの場合**

1. 管理者として実行するコマンドプロンプトから、次のコマンドを一度に 1 つずつ実行します。

   ```
   mkdir c:\temp\CodeDeployGitHubDemo
   ```

   ```
   cd c:\temp\CodeDeployGitHubDemo
   ```

   ```
   notepad README.md
   ```

1. Notepad に `README.md` ファイルを保存します。Notepad を閉じます。次のコマンドを一度に 1 つずつ実行します。*user-name* は GitHub のユーザー名です。

   ```
   git init
   ```

   ```
   git add README.md
   ```

   ```
   git commit -m "My first commit"
   ```

   ```
   git remote add origin https://github.com/user-name/CodeDeployGitHubDemo.git
   ```

   ```
   git push -u origin master
   ```

1. コマンドプロンプトを `c:\temp\CodeDeployGitHubDemo` の場所で開いたままにします。

# ステップ 3: GitHub リポジトリにサンプルアプリケーションをアップロードします。
<a name="tutorials-github-upload-sample-revision"></a>

このステップでは、パブリックの Amazon S3 バケットから GitHub リポジトリにサンプルリビジョンをコピーします。(分かりやすいように、このチュートリアルに用意してあるサンプルリビジョンは単一のウェブページです。)

**注記**  
サンプルリビジョンの代わりに自身のリビジョンの 1 つを使用する場合は、以下が必要です。  
[CodeDeploy のリビジョンを計画する](application-revisions-plan.md) と [CodeDeploy 用のアプリケーション仕様ファイルをリビジョンに追加](application-revisions-appspec-file.md) のガイドラインに従う。
対応するインスタンスタイプを使用する。
GitHub のダッシュボードからアクセス可能である。
リビジョンがこれらの要件を満たしている場合は、「[ステップ 5: アプリケーションおよびデプロイグループを作成します。](tutorials-github-create-application.md)」に進んでください。  
Ubuntu インスタンスにデプロイする場合は、Ubuntu サーバーインスタンスおよび CodeDeploy と互換性があるリビジョンを GitHub リポジトリにアップロードする必要があります。詳細については、「[CodeDeploy のリビジョンを計画する](application-revisions-plan.md)」および「[CodeDeploy 用のアプリケーション仕様ファイルをリビジョンに追加](application-revisions-appspec-file.md)」を参照してください。

**Topics**
+ [ローカル Linux、macOS、あるいは Unix マシンからサンプルリビジョンをプッシュします](#tutorials-github-upload-sample-revision-unixes)
+ [ローカル Windows マシンからサンプルリビジョンをプッシュする](#tutorials-github-upload-sample-revision-windows)

## ローカル Linux、macOS、あるいは Unix マシンからサンプルリビジョンをプッシュします
<a name="tutorials-github-upload-sample-revision-unixes"></a>

ターミナルを `/tmp/CodeDeployGitHubDemo` などの場所で開いたままにして、以下のコマンドを一度に 1 つずつ実行します。

**注記**  
デプロイ先を Windows １サーバーインスタンスにする場合は、コマンドで `SampleApp_Windows.zip` の代わりに `SampleApp_Linux.zip` を使用します。

```
(Amazon S3 copy command)
```

```
unzip SampleApp_Linux.zip
```

```
rm SampleApp_Linux.zip
```

 

```
git add .
```

```
git commit -m "Added sample app"
```

```
git push
```

*(Amazon S3 copy command)* は次のいずれかです。
+ `aws s3 cp s3://aws-codedeploy-us-east-2/samples/latest/SampleApp_Linux.zip . --region us-east-2` (米国東部 (オハイオ) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-us-east-1/samples/latest/SampleApp_Linux.zip . --region us-east-1` (米国東部 (バージニア北部) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-us-west-1/samples/latest/SampleApp_Linux.zip . --region us-west-1` (米国西部 (北カリフォルニア) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-us-west-2/samples/latest/SampleApp_Linux.zip . --region us-west-2` (米国西部 (オレゴン) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-ca-central-1/samples/latest/SampleApp_Linux.zip . --region ca-central-1` (カナダ (中部) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-eu-west-1/samples/latest/SampleApp_Linux.zip . --region eu-west-1` (欧州 (アイルランド) リージョンの場合) 
+ `aws s3 cp s3://aws-codedeploy-eu-west-2/samples/latest/SampleApp_Linux.zip . --region eu-west-2` (欧州 (ロンドン) リージョンの場合) 
+ `aws s3 cp s3://aws-codedeploy-eu-west-3/samples/latest/SampleApp_Linux.zip . --region eu-west-3` (欧州 (パリ) リージョンの場合) 
+ `aws s3 cp s3://aws-codedeploy-eu-central-1/samples/latest/SampleApp_Linux.zip . --region eu-central-1` (欧州（フランクフルト）リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-il-central-1/samples/latest/SampleApp_Linux.zip . --region il-central-1` (イスラエル (テルアビブ) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-ap-east-1/samples/latest/SampleApp_Linux.zip . --region ap-east-1` (アジアパシフィック (香港) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-ap-northeast-1/samples/latest/SampleApp_Linux.zip . --region ap-northeast-1` (アジアパシフィック (東京) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-ap-northeast-2/samples/latest/SampleApp_Linux.zip . --region ap-northeast-2` (アジアパシフィック (ソウル) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-ap-southeast-1/samples/latest/SampleApp_Linux.zip . --region ap-southeast-1` (アジアパシフィック (シンガポール) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-ap-southeast-2/samples/latest/SampleApp_Linux.zip . --region ap-southeast-2` (アジアパシフィック (シドニー) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-ap-southeast-4/samples/latest/SampleApp_Linux.zip . --region ap-southeast-4` (アジアパシフィック (メルボルン) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-ap-south-1/samples/latest/SampleApp_Linux.zip . --region ap-south-1` (アジアパシフィック (ムンバイ) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-sa-east-1/samples/latest/SampleApp_Linux.zip . --region sa-east-1` (南米 (サンパウロ) リージョンの場合)

## ローカル Windows マシンからサンプルリビジョンをプッシュする
<a name="tutorials-github-upload-sample-revision-windows"></a>

 コマンドプロンプトを `c:\temp\CodeDeployGitHubDemo` などの場所で開いたままにして、以下のコマンドを一度に 1 つずつ実行します。

**注記**  
デプロイ先を Amazon Linux または RHEL インスタンスにデプロイする予定がある場合は、コマンドで `SampleApp_Linux.zip` の代わりに `SampleApp_Windows.zip` を使用します。

```
(Amazon S3 copy command)
```

`the` ZIP ファイルの内容の解凍先を、新しいサブディレクトリではなく、直接ローカルディレクトリ (`c:\temp\CodeDeployGitHubDemo` など) にします。

```
git add .
```

```
git commit -m "Added sample app"
```

```
git push
```

*(Amazon S3 copy command)* は次のいずれかです。
+ `aws s3 cp s3://aws-codedeploy-us-east-2/samples/latest/SampleApp_Windows.zip . --region us-east-2` (米国東部 (オハイオ) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-us-east-1/samples/latest/SampleApp_Windows.zip . --region us-east-1` (米国東部 (バージニア北部) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-us-west-1/samples/latest/SampleApp_Windows.zip . --region us-west-1` (米国西部 (北カリフォルニア) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-us-west-2/samples/latest/SampleApp_Windows.zip . --region us-west-2` (米国西部 (オレゴン) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-ca-central-1/samples/latest/SampleApp_Windows.zip . --region ca-central-1` (カナダ (中部) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-eu-west-1/samples/latest/SampleApp_Windows.zip . --region eu-west-1` (欧州 (アイルランド) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-eu-west-2/samples/latest/SampleApp_Windows.zip . --region eu-west-2` (欧州 (ロンドン) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-eu-west-3/samples/latest/SampleApp_Windows.zip . --region eu-west-3` (欧州 (パリ) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-eu-central-1/samples/latest/SampleApp_Windows.zip . --region eu-central-1` (欧州（フランクフルト）リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-il-central-1/samples/latest/SampleApp_Windows.zip . --region il-central-1` (イスラエル (テルアビブ) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-ap-east-1/samples/latest/SampleApp_Windows.zip . --region ap-east-1` (アジアパシフィック (香港) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-ap-northeast-1/samples/latest/SampleApp_Windows.zip . --region ap-northeast-1` (アジアパシフィック (東京) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-ap-northeast-2/samples/latest/SampleApp_Windows.zip . --region ap-northeast-2` (アジアパシフィック (ソウル) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-ap-southeast-1/samples/latest/SampleApp_Windows.zip . --region ap-southeast-1` (アジアパシフィック (シンガポール) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-ap-southeast-2/samples/latest/SampleApp_Windows.zip . --region ap-southeast-2` (アジアパシフィック (シドニー) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-ap-southeast-4/samples/latest/SampleApp_Windows.zip . --region ap-southeast-4` (アジアパシフィック (メルボルン) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-ap-south-1/samples/latest/SampleApp_Windows.zip . --region ap-south-1` (アジアパシフィック (ムンバイ) リージョンの場合)
+ `aws s3 cp s3://aws-codedeploy-sa-east-1/samples/latest/SampleApp_Windows.zip . --region sa-east-1` (南米 (サンパウロ) リージョンの場合)

独自のリビジョンを Ubuntu サーバーインスタンスにプッシュするには、リビジョンをローカルリポジトリにコピーしてから、次のコマンドを呼び出します。

```
git add .
git commit -m "Added Ubuntu app"
git push
```

# ステップ 4: インスタンスをプロビジョニングします。
<a name="tutorials-github-provision-instance"></a>

このステップでは、サンプルアプリケーションのデプロイ先であるインスタンスを作成または設定します。CodeDeploy でサポートされているオペレーティングシステムのいずれかを実行している Amazon EC2 インスタンスまたはオンプレミスインスタンスにデプロイできます。詳細については、[CodeDeploy エージェントで対応するオペレーティングシステム](codedeploy-agent.md#codedeploy-agent-supported-operating-systems) を参照してください。(CodeDeploy デプロイで使用するインスタンスが設定済みである場合は、次のステップまでスキップします。)

**インスタンスをプロビジョニングするには**

1. [Amazon EC2 インスタンス (コンソール) を起動します。](instances-ec2-create.md#instances-ec2-create-console) の指示に従って、インスタンスをプロビジョニングします。

1. インスタンスを起動するときは、**タグの追加** ページで必ずタグを指定してください。タグを指定する方法の詳細については、[Amazon EC2 インスタンス (コンソール) を起動します。](instances-ec2-create.md#instances-ec2-create-console) を参照してください。

**CodeDeploy エージェントがインスタンスで実行されていることを確認するには、**
+ [CodeDeploy エージェントが実行されていることの確認](codedeploy-agent-operations-verify.md) の指示に従って、エージェントが実行されていることを確認します。

インスタンスを正常にプロビジョンし、CodeDeploy エージェントが実行されていることを確認したら、次のステップに進みます。

# ステップ 5: アプリケーションおよびデプロイグループを作成します。
<a name="tutorials-github-create-application"></a>

このステップでは、CodeDeploy コンソールまたは AWS CLI を使用して、GitHub リポジトリからサンプルリビジョンをデプロイするために使用するアプリケーションとデプロイグループを作成します。



## アプリケーションおよびデプロイグループの作成 (コンソール)
<a name="tutorials-github-create-application-console"></a>

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) で CodeDeploy コンソールを開きます。
**注記**  
「[CodeDeploy の開始方法](getting-started-codedeploy.md)」で設定したのと同じユーザーでサインインします。

1. ナビゲーションペインで **Deploy** を展開し、**Applications** を選択します。

   

1. [**アプリケーションの作成**]、[**カスタムアプリケーション**] の順に選択します。

1. [**アプリケーション名**] に、「**CodeDeployGitHubDemo-App**」と入力します。

1. [**コンピューティングプラットフォーム**] で [**EC2/オンプレミス**] を選択します。

1. [**アプリケーションを作成**] を選択します。

1. [**デプロイグループ**] タブで、[**デプロイグループの作成**] を選択します。

1. **[Deployment group name]** (デプロイグループ名) に「**CodeDeployGitHubDemo-DepGrp**」と入力します。

1. **Service role** で、[CodeDeploy のサービスロールを作成](getting-started-create-service-role.md) で作成した CodeDeploy サービスロールの名前を選択します。

1. [**デプロイタイプ**] で、[**インプレース**] を選択します。

1. **Environment configuration** で、使用するインスタンスのタイプに応じて、**Amazon EC2 instances** あるいは **On-premises instances** を選択します。[**キー**] と [**値**] に、[ステップ 4: インスタンスをプロビジョニングします。](tutorials-github-provision-instance.md) の一部としてインスタンスに適用されたインスタンスタグのキーと値を入力します。

1. [**デプロイ設定**] で [**CodeDeployDefault.AllatOnce**] を選択します。

1. [**ロードバランサー**] で、[**Enable load balancing (ロードバランシングの有効化)**] をオフにします。

1. [**Advanced**] を展開します。

1. [**アラーム**] で [**アラーム設定を無視する**] を選択します。

1. [**デプロイグループの作成**] を選択し、次のステップに進みます。

## アプリケーションおよびデプロイグループの作成 (CLI)
<a name="tutorials-github-create-application-cli"></a>

1. **create-application** のコマンドを呼び出して、CodeDeploy で `CodeDeployGitHubDemo-App` と言う名前のアプリケーションを作成します。

   ```
   aws deploy create-application --application-name CodeDeployGitHubDemo-App
   ```

1. **create-deployment-group** コマンドを呼び出して `CodeDeployGitHubDemo-DepGrp` と言う名前のデプロイグループを作成します。
   + Amazon EC2 インスタンスにデプロイする場合、*ec2-tag-key* は、[ステップ 4: インスタンスをプロビジョニングします。](tutorials-github-provision-instance.md) の一部として Amazon EC2 インスタンスに適用した Amazon EC2 インスタンスのタグキーです。
   + Amazon EC2 インスタンスにデプロイする場合、*ec2-tag-value* は、[ステップ 4: インスタンスをプロビジョニングします。](tutorials-github-provision-instance.md) の一部として Amazon EC2 インスタンスに適用した Amazon EC2 インスタンスのタグ値です。
   + オンプレミスインスタンスにデプロイする場合、*on-premises-tag-key* は、「[ステップ 4: インスタンスをプロビジョニングします。](tutorials-github-provision-instance.md)」の一部としてオンプレミスインスタンスに適用したオンプレミスインスタンスのタグキーです。
   + オンプレミスインスタンスにデプロイする場合、*on-premises-tag-value* は、「[ステップ 4: インスタンスをプロビジョニングします。](tutorials-github-provision-instance.md)」の一部としてオンプレミスインスタンスに適用したオンプレミスインスタンスのタグ値です。
   + *service-role-arn* は、[CodeDeploy のサービスロールを作成](getting-started-create-service-role.md) で作成したサービスロールのサービスロール ARN です。([サービスロール ARN の取得 (CLI)](getting-started-create-service-role.md#getting-started-get-service-role-cli) の手順に従って、サービスロール ARN を見つけます)。

   ```
   aws deploy create-deployment-group --application-name CodeDeployGitHubDemo-App --ec2-tag-filters Key=ec2-tag-key,Type=KEY_AND_VALUE,Value=ec2-tag-value --on-premises-tag-filters Key=on-premises-tag-key,Type=KEY_AND_VALUE,Value=on-premises-tag-value --deployment-group-name CodeDeployGitHubDemo-DepGrp --service-role-arn service-role-arn
   ```
**注記**  
[create-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment-group.html) コマンドは、デプロイおよびインスタンス内の指定されたイベントについて、トピックサブスクライバーに Amazon SNS 通知を送信するトリガーの作成をサポートします。このコマンドは、Amazon CloudWatch アラームのモニタリングしきい値が満たされたときにデプロイを自動的にロールバックし、デプロイを停止するアラームを設定するオプションもサポートします。このチュートリアルでは、これらのアクションコマンドは含まれていません。

# ステップ 6: アプリケーションをインスタンスにデプロイします。
<a name="tutorials-github-deploy-application"></a>

このステップでは、CodeDeploy コンソールまたは AWS CLI を使用して、GitHub リポジトリからインスタンスにサンプルリビジョンをデプロイします。



## リビジョンをデプロイするには (コンソール)
<a name="tutorials-github-deploy-application-console"></a>

1. [**デプロイグループの詳細**] ページで、[**デプロイの作成**] を選択します。

1. [**デプロイグループ**] で [**`CodeDeployGitHubDemo-DepGrp`**] を選択します。

1. [**リビジョンタイプ**] で [**GitHub**] を選択します。

1. [**Connect to GitHub**] で、次のいずれかを実行します。
   + GitHub アカウントに対する CodeDeploy アプリケーションの接続を作成するには、ウェブブラウザの別のタブで GitHub からサインアウトします。[**GitHub アカウント**] に、この接続を識別する名前を入力し、[**GitHub に接続**] を選択します。`CodeDeployGitHubDemo-App` という名前のアプリケーションを GitHub で操作することを CodeDeploy に許可するよう求めるメッセージがウェブページに表示されます。ステップ 5 に進みます。
   + 作成済みの接続を使用するには、その名前を [**GitHub account**] で選択してから [**Connect to GitHub**] を選択します。ステップ 7 に進みます。
   + 別の GitHub アカウントへの接続を作成するには、ウェブブラウザの別のタブで GitHub からサインアウトします。[**Connect to a different GitHub account**] を選択し、[**Connect to GitHub**] を選択します。ステップ 5 に進みます。

1. [**Sign in**] ページの手順に従って、GitHub アカウントにサインインします。

1. [**Authorize application**] ページで、[**Authorize application**] を選択します。

1. CodeDeploy の **Create deployment** ページ上で、**Repository name** に、サインインに使用した GitHub のユーザー名に続いてスラッシュ (`/`)、アプリケーションリビジョンをプッシュしたリポジトリの名前 (例えば ***my-github-user-name*/CodeDeployGitHubDemo** など) を順に入力します。

   入力する値が不確実な場合、または異なるリポジトリを指定する場合:

   1. ウェブブラウザの別のタブで、[GitHub dashboard](https://github.com/dashboard) にアクセスします。

   1. [**Your repositories**] で、ターゲットリポジトリの名前の上にマウスを置きます。GitHub ユーザーまたは組織の名前、スラッシュ (`/`)、リポジトリの名前の順序でツールヒントが表示されます。この値を [**Repository name (リポジトリ名)**] に入力します。
**注記**  
[**Your repositories (自分のリポジトリ)**] にターゲットリポジトリの名前が表示されない場合は、[**Search GitHub (GitHub の検索)**] ボックスを使用して、ターゲットリポジトリと GitHub ユーザーまたは組織の名前を検索します。

1. [**Commit ID (コミット ID)**] ボックスに、アプリケーションリビジョンの GitHub へのプッシュに関連付けられているコミットの ID を入力します。

   入力する値が不確実な場合:

   1. ウェブブラウザの別のタブで、[GitHub dashboard](https://github.com/dashboard) にアクセスします。

   1. **Your repositories** で、**CodeDeployGitHubDemo** を選択します。

   1. コミットのリストで、アプリケーションリビジョンの GitHub へのプッシュに関連付けられているコミット ID を検索してコピーします。通常、この ID は 40 文字で、文字と数字の両方で構成されます (コミット ID の短いバージョンを使用しないでください。通常は、長いバージョンの最初の 10 文字です)。

   1. [**Commit ID**] ボックスにコミット ID を貼り付けます。

1. [**Deploy**] を選択して、次のステップに進みます。

## リビジョンをデプロイするには (CLI)
<a name="tutorials-github-deploy-application-cli"></a>

GitHub とやり取りする AWS CLI コマンド (次に呼び出す **create-deployment** コマンドなど) を呼び出す前に、GitHub ユーザーアカウントを使用して`CodeDeployGitHubDemo-App`アプリケーションの GitHub とやり取りするアクセス許可を CodeDeploy に付与する必要があります。現在、この操作を行うには、CodeDeploy コンソールを使用する必要があります。

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) で CodeDeploy コンソールを開きます。
**注記**  
「[CodeDeploy の開始方法](getting-started-codedeploy.md)」で設定したのと同じユーザーでサインインします。

1. ナビゲーションペインで **Deploy** を展開し、**Applications** を選択します。

   

1. **CodeDeployGitHubDemo-App** を選択します。

1. [**デプロイ**] タブで、[**デプロイの作成**] を選択します。
**注記**  
新しいデプロイは作成されません。これは現在、GitHub ユーザーアカウントに代わって GitHub を操作するための権限を CodeDeploy に付与する唯一の方法です。

1. **CodeDeployGitHubDemo-App** から、**CodeDeployGitHubDemo-DepGrp** を選択します。

1. [**リビジョンタイプ**] で [**GitHub**] を選択します。

1. [**Connect to GitHub**] で、次のいずれかを実行します。
   + GitHub アカウントに対する CodeDeploy アプリケーションの接続を作成するには、ウェブブラウザの別のタブで GitHub からサインアウトします。[**GitHub account**] に、この接続を識別する名前を入力し、[**Connect to GitHub**] を選択します。`CodeDeployGitHubDemo-App` という名前のアプリケーションの GitHub を操作することを CodeDeployに許可するよう求めるメッセージがウェブページに表示されます。ステップ 8 に進みます。
   + 作成済みの接続を使用するには、その名前を [**GitHub account**] で選択してから [**Connect to GitHub**] を選択します。ステップ 10 に進みます。
   + 別の GitHub アカウントへの接続を作成するには、ウェブブラウザの別のタブで GitHub からサインアウトします。[**Connect to a different GitHub account**] を選択し、[**Connect to GitHub**] を選択します。ステップ 8 に進みます。

1. [**Sign in**] ページの手順に従って、GitHub のユーザー名、または E メールとパスワードでサインインします。

1. [**Authorize application**] ページで、[**Authorize application**] を選択します。

1. CodeDeploy の **Create deployment** ページで 、**Cancel** を選択します。

1. **create-deployment** コマンドを呼び出して、リビジョンを GitHub リポジトリからインスタンスにデプロイします。
   + *repository* は、GitHub アカウント名です。スラッシュ (`/`)、リポジトリの名前が後に続きます (`CodeDeployGitHubDemo`)。例: `MyGitHubUserName/CodeDeployGitHubDemo`。

     使用する値が不確実な場合、または異なるリポジトリを指定する場合:

     1. ウェブブラウザの別のタブで、[GitHub dashboard](https://github.com/dashboard) にアクセスします。

     1. [**Your repositories**] で、ターゲットリポジトリの名前の上にマウスを置きます。GitHub ユーザーまたは組織の名前、スラッシュ (`/`)、リポジトリの名前の順序でツールヒントが表示されます。これが使用する値です。
**注記**  
[**Your repositories**] にターゲットリポジトリの名前が表示されない場合、[**Search GitHub**] ボックスを使用して、ターゲットリポジトリと、対応する GitHub ユーザーまたは組織の名前を検索します。
   + *commit-id* は、リポジトリにプッシュしたアプリケーションリビジョンのバージョンに関連付けられているコミットです (例: `f835159a...528eb76f`)。

     使用する値が不確実な場合:

     1. ウェブブラウザの別のタブで、[GitHub dashboard](https://github.com/dashboard) にアクセスします。

     1. **Your repositories** で、**CodeDeployGitHubDemo** を選択します。

     1. コミットのリストで、アプリケーションリビジョンの GitHub へのプッシュに関連付けられているコミット ID を検索します。通常、この ID は 40 文字で、文字と数字の両方で構成されます (コミット ID の短いバージョンを使用しないでください。通常は、長いバージョンの最初の 10 文字です)。この値を使用します。

   ローカル Linux、macOS、あるいは Unix マシンを使用している場合

   ```
   aws deploy create-deployment \
     --application-name CodeDeployGitHubDemo-App \
     --deployment-config-name CodeDeployDefault.OneAtATime \
     --deployment-group-name CodeDeployGitHubDemo-DepGrp \
     --description "My GitHub deployment demo" \
     --github-location repository=repository,commitId=commit-id
   ```

   ローカル Windows マシンを使用している場合

   ```
   aws deploy create-deployment --application-name CodeDeployGitHubDemo-App --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name CodeDeployGitHubDemo-DepGrp --description "My GitHub deployment demo" --github-location repository=repository,commitId=commit-id
   ```

# ステップ 7: デプロイをモニタリングおよび確認します。
<a name="tutorials-github-verify"></a>

このステップでは、CodeDeploy コンソールまたは AWS CLI を使用してデプロイの成功を確認します。作成または設定したインスタンスにデプロイしたウェブページを表示するには、ウェブブラウザを使用します。

**注記**  
Ubuntu インスタンスにデプロイする場合、独自のテスト戦略を使用して、デプロイされたリビジョンがインスタンスで予期したとおりに機能するかどうかを確認し、次のステップに進みます。

**デプロイをモニタリングおよび確認するには (コンソール)**

1. ナビゲーションペインで **Deploy** を展開し、**Deployments** を選択します。

   

1. デプロイのリストで、**CodeDeployGitHubDemo-App** の **Application** の値、および **CodeDeployGitHubDemo-DepGrp** の **CodeDeployGitHubDemo-DepGrp** の値が [-DepGrp] である行を探します。**Succeeded** または **Failed** が、**[Status]** 列に表示されない場合は、定期的に **[Refresh]** ボタンを選択します。

1. **Status** の列に **Failed** が表示される場合は、[インスタンスの詳細の表示 (コンソール)](instances-view-details.md#instances-view-details-console) の指示に従って、デプロイのトラブルシューティングを行います。

1. **Status** 列で **Succeeded** が表示される場合は、ウェブブラウザを通してデプロイを確認できます。このサンプルリビジョンでは、インスタンスに単一のウェブページをデプロイします。Amazon EC2 インスタンスにデプロイする場合は、ウェブブラウザで、インスタンスの `http://public-dns` にアクセスします (例えば、`http://ec2-01-234-567-890.compute-1.amazonaws.com` など)。

1. ウェブページを表示できれば成功です。 AWS CodeDeploy を使用して GitHub からリビジョンが正しくデプロイされました。これで、「[ステップ 8: クリーンアップする](tutorials-github-clean-up.md)」に進むことができます。

**デプロイをモニタリングおよび確認するには (CLI)**

1. **list-deployments** コマンドを呼び出して、`CodeDeployGitHubDemo-App` という名前のアプリケーションと `CodeDeployGitHubDemo-DepGrp` という名前のデプロイグループのデプロイ ID を取得します。

   ```
   aws deploy list-deployments --application-name CodeDeployGitHubDemo-App --deployment-group-name CodeDeployGitHubDemo-DepGrp --query "deployments" --output text
   ```

1. **get-deployment** コマンドを呼び出して、**list-deployments** コマンドからの出力にデプロイメントの ID を指定します。

   ```
   aws deploy get-deployment --deployment-id deployment-id --query "deploymentInfo.[status, creator]" --output text
   ```

1. [**Failed**] が返されたら、[インスタンスの詳細の表示 (コンソール)](instances-view-details.md#instances-view-details-console) の指示に従って、デプロイのトラブルシューティングを行います。

1. [**Succeeded**] が返されたら、ウェブブラウザでデプロイを確認できます。このサンプルリビジョンは、インスタンスにデプロイされた単一のウェブページです。Amazon EC2 インスタンスにデプロイする場合は、Amazon EC2 インスタンスのための `http://public-dns` にアクセスすることで、このページをウェブブラウザで表示できます (たとえば、`http://ec2-01-234-567-890.compute-1.amazonaws.com` など)。

1. ウェブページを表示できれば成功です。 AWS CodeDeploy を使用して GitHub リポジトリから正常にデプロイされました。

# ステップ 8: クリーンアップする
<a name="tutorials-github-clean-up"></a>

このチュートリアルの間に使用したリソースに対する追加料金を防ぐため、Amazon EC2 インスタンスと関連リソースを終了する必要があります。必要に応じて、このチュートリアルに関連付けられている CodeDeploy デプロイコンポーネントレコードを削除できます。このチュートリアル専用に GitHub リポジトリを使用した場合は、今すぐ削除することもできます。

## CloudFormation スタックを削除するには ( CloudFormation テンプレートを使用して Amazon EC2 インスタンスを作成した場合)
<a name="tutorials-github-clean-up-cloudformation-template"></a>

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) で CloudFormation コンソールを開きます。

1. [**スタック**] 列で、`CodeDeploySampleStack` で始まるスタックを選択します。

1. **[削除]** を選択します。

1. プロンプトが表示されたら、**[スタックの削除]** を選択します。Amazon EC2 インスタンスおよび関連する IAM インスタンスプロファイルとサービスロールが削除されます。

## 手動で登録を解除およびオンプレミスインスタンスをクリーンアップするには (オンプレミスインスタンスをプロビジョニングした場合)
<a name="tutorials-github-clean-up-on-premises-instance"></a>

1. を使用して AWS CLI 、ここで *your-instance-name* で表されるオンプレミスインスタンスと、your-region で関連付けられたリージョンに対して[登録解除](https://docs.aws.amazon.com/cli/latest/reference/deploy/deregister.html)コマンドを呼び出します。 **

   ```
   aws deploy deregister --instance-name your-instance-name --no-delete-iam-user --region your-region
   ```

1. オンプレミスインスタンスから、[uninstall](https://docs.aws.amazon.com/cli/latest/reference/deploy/uninstall.html) コマンドを呼び出します:

   ```
   aws deploy uninstall
   ```

## Amazon EC2 インスタンスを手動で終了するには (手動で Amazon EC2 インスタンスを起動した場合)
<a name="tutorials-github-clean-up-ec2-instance"></a>

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) で Amazon EC2 コンソールを開きます。

1. ナビゲーションペインの **[Instances]** (インスタンス) で、**[Instances]** (インスタンス) を選択します。

1. 終了した Amazon EC2 インスタンスの横にあるボックスを選択します。[**Actions**] メニューで [**Instance State**] をポイントし、[**Terminate**] を選択します。

1. プロンプトが表示されたら、[**Yes, Terminate**] を選択します。

## CodeDeploy デプロイコンポーネントレコードを削除するには
<a name="tutorials-github-clean-up-codedeploy-records"></a>

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) で CodeDeploy コンソールを開きます。
**注記**  
「[CodeDeploy の開始方法](getting-started-codedeploy.md)」で設定したのと同じユーザーでサインインします。

1. ナビゲーションペインで **Deploy** を展開し、**Applications** を選択します。

   

1. **CodeDeployGitHubDemo-App** を選択します。

1. [**アプリケーションを削除**] を選択します。

1. 確認を求めるメッセージが表示されたら、**Delete**と入力し、[**削除**] を選択してください。

## GitHub リポジトリを削除するには
<a name="tutorials-github-clean-up-github-repository"></a>

[GitHub help](https://help.github.com) の [Deleting a repository](https://help.github.com/articles/deleting-a-repository/) を参照してください。