

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

# チュートリアル: パイプラインの変数チェックルールを入力条件として作成する
<a name="tutorials-varcheckrule"></a>

このチュートリアルでは、ソースステージで GitHub をソースアクションプロバイダーとして使用して、ファイルを継続的に配信するパイプラインを設定します。ソースリポジトリ内のソースファイルに変更を加えると、完成したパイプラインはその変更を検出します。パイプラインは出力変数を実行して、ビルドステージへの入力条件で指定したソースリポジトリ名およびブランチ名と照合します。

**重要**  
パイプライン作成の一環として、CodePipeline は、ユーザーが指定した S3 アーティファクトバケットをアーティファクトとして使用します (これは S3 ソースアクションで使用するバケットとは異なります)。S3 アーティファクトバケットがパイプラインのアカウントとは異なるアカウントにある場合は、S3 アーティファクトバケットが によって所有 AWS アカウント されており、安全で信頼できることを確認してください。

**重要**  
この手順でパイプラインに追加するアクションの多くには、パイプラインを作成する前に作成する必要がある AWS リソースが含まれます。ソースアクションの AWS リソースは常に、パイプラインを作成するのと同じ AWS リージョンで作成する必要があります。例えば、米国東部 (オハイオ) リージョンにパイプラインを作成している場合、CodeCommit リポジトリは米国東部 (オハイオ) リージョンにある必要があります。  
パイプラインの作成時にクロスリージョンアクションを追加できます。クロスリージョンアクションの AWS リソースは、アクションを実行する予定のリージョンと同じ AWS リージョンに存在する必要があります。詳細については、「[CodePipeline にクロスリージョンアクションを追加する](actions-create-cross-region.md)」を参照してください。

この例では、GitHub (Version2) ソースアクションと CodeBuild ビルドアクションを含むサンプルのパイプラインを使用して、ビルドステージの入力条件で変数をチェックします。

## 前提条件
<a name="tutorials-varcheckrule-prereq"></a>

開始する前に、以下を実行する必要があります。
+ GitHub アカウントで GitHub リポジトリを作成します。
+ GitHub の認証情報を準備してください。を使用して接続 AWS マネジメントコンソール を設定すると、GitHub 認証情報を使用してサインインするように求められます。
+ パイプラインのソースアクションとして GitHub (GitHub アプリ経由) を設定するためのリポジトリへの接続。GitHub リポジトリへの接続を作成するには、「[GitHub コネクション](connections-github.md)」を参照してください。

## ステップ 1: サンプルのソースファイルを作成して GitHub リポジトリに追加する
<a name="tutorials-varcheckrule-push"></a>

このセクションでは、パイプラインでソースステージとして使用するサンプルのソースファイルを作成してリポジトリに追加します。この例では、以下を作成して追加します。
+ `README.md` ファイル。

GitHub リポジトリを作成したら、次の手順を使用して README ファイルを追加します。

1. GitHub リポジトリにログインし、リポジトリを選択します。

1. 新しいファイルを作成するには、**[ファイルの追加]**、**[新しいファイルを作成]** の順に選択します。ファイルに「`README.md`」という名前を付け、次のテキストを追加します。

   ```
   This is a GitHub repository!
   ```

1. **[Commit changes]** (変更のコミット) を選択します。このチュートリアルでは、次の例のように先頭文字が大文字の単語「Update」を含むコミットメッセージを追加します。

   ```
   Update to source files
   ```
**注記**  
文字列のルールチェックでは、大文字と小文字が区別されます。

   `README.md` ファイルがリポジトリのルートレベルにあることを確認してください。

## ステップ 2: パイプラインを作成する
<a name="tutorials-varcheckrule-create-pipeline"></a>

このセクションでは、次のアクションを使用してパイプラインを作成します。
+ Bitbucket リポジトリとアクションへの接続を持つソースステージ。
+ CodeBuild ビルドステージ。ステージには、変数チェックルールに対するエントリ時の条件が設定されています。

**ウィザードを使用してパイプラインを作成するには**

1. CodePipeline コンソール ([http://console.aws.amazon.com/codesuite/codepipeline/home](https://console.aws.amazon.com/codepipeline/)) にサインインします。

1. [**ようこそ**] ページ、[**開始方法**] ページ、または [**パイプライン**] ページで、[**パイプラインの作成**] を選択します。

1. **[ステップ 1: 作成オプションを選択する]** ページの **[作成オプション]** で、**[カスタムパイプラインを構築する]** オプションを選択します。**[次へ]** を選択します。

1. **[ステップ 2: パイプラインの設定を選択する]** で、**[パイプライン名]** に「**MyVarCheckPipeline**」と入力します。

1. CodePipeline は、特徴と料金が異なる V1 タイプと V2 タイプのパイプラインを提供しています。V2 タイプは、コンソールで選択できる唯一のタイプです。詳細については、「[パイプラインタイプ](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html?icmpid=docs_acp_help_panel)」を参照してください。CodePipeline の料金については、[料金](https://aws.amazon.com/codepipeline/pricing/)を参照してください。

1. [**サービスロール**] で、[**New service role (新しいサービスロール)**] を選択します。
**注記**  
既存の CodePipeline サービスロールを代わりに使用する場合は、サービスロールポリシーに対する `codeconnections:UseConnection` IAM アクセス許可を追加したことを確認してください。CodePipeline サービスロールの手順については、「[Add permissions to the the CodePipeline service role](https://docs.aws.amazon.com/codepipeline/latest/userguide/security-iam.html#how-to-update-role-new-services)」を参照してください。

1. **[詳細設定]** では、デフォルト値のままにします。

   **[次へ]** を選択します。

1. **[ステップ 3: ソースステージの追加]** ページで、ソースステージを追加します。

   1. **[ソースプロバイダー]** で、**[GitHub (GitHub アプリ経由)]** を選択します。

   1. **接続** で、既存の接続を選択するか、新規の接続を作成します。GitHub ソースアクション用の接続を作成または管理する方法については、[GitHub コネクション](connections-github.md) を参照してください。

   1. **リポジトリ名** で、GitHub リポジトリの名前を選択します。

   1. **BranchName** に、使用するリポジトリブランチを入力します。

   1. **[トリガーなし]** オプションが選択されていないことを確認します。

   [**次へ**] を選択します。

1. **[ステップ 4: ビルドステージの追加]** で、ビルドステージを追加します。

   1. [**ビルドプロバイダ**] で、[**AWS CodeBuild**] を選択します。**[リージョン]** をデフォルトでパイプラインのリージョンにすることを許可します。

   1. **[プロジェクトを作成]** を選択します。

   1. [**プロジェクト名**] に、このビルドプロジェクトの名前を入力します。

   1. [**環境イメージ**] で、[**Managed image (マネージド型イメージ)**] を選択します。[**Operating system**] で、[**Ubuntu**] を選択します。

   1. [**ランタイム**] で、[**Standard (標準)**] を選択します。[**イメージ**] で、[**aws/codebuild/standard:5.0**] を選択します。

   1. [**サービスロール**] で、[**New service role (新しいサービスロール)**] を選択します。
**注記**  
CodeBuild サービスロールの名前を書き留めます。このチュートリアルの最後のステップでは、ロール名が必要になります。

   1. [**Buildspec**] の **Build specifications** (ビルド仕様) で、[**Insert build commands**] (ビルドコマンドの挿入) を選択します。**エディタに切り替え** を選択し、**ビルドコマンド** に以下を貼り付けます。

      ```
      version: 0.2
      #env:
        #variables:
           # key: "value"
           # key: "value"
        #parameter-store:
           # key: "value"
           # key: "value"
        #git-credential-helper: yes
      phases:
        install:
          #If you use the Ubuntu standard image 2.0 or later, you must specify runtime-versions.
          #If you specify runtime-versions and use an image other than Ubuntu standard image 2.0, the build fails.
          runtime-versions:
            nodejs: 12
          #commands:
            # - command
            # - command
        #pre_build:
          #commands:
            # - command
            # - command
        build:
          commands:
            - 
        #post_build:
          #commands:
            # - command
            # - command
      artifacts:
        files:
           - '*'
          # - location
        name: $(date +%Y-%m-%d)
        #discard-paths: yes
        #base-directory: location
      #cache:
        #paths:
          # - paths
      ```

   1. [**Continue to CodePipeline **] (CodePipeline に進む) を選択します。CodePipeline コンソールに戻り、ビルドコマンドを使用して設定する CodeBuild プロジェクトが作成されます。ビルドプロジェクトでは、サービスロールを使用して AWS のサービス アクセス許可を管理します。このステップには数分かかる場合があります。

   1. [**次へ**] を選択します。

1. **[ステップ 5: テストステージの追加]** で、**[テストステージをスキップ]** を選択し、もう一度 **[スキップ]** を選択して警告メッセージを受け入れます。

   [**次へ**] を選択します。

1. **[ステップ 6: デプロイステージの追加]** ページで、**[デプロイステージをスキップ]** を選択し、もう一度 **[スキップ]** を選択して警告メッセージを受け入れます。[**次へ**] を選択します。

1. **ステップ 7: 確認**で、**パイプラインの作成**を選択します。

## ステップ 2: ビルドステージを編集して条件とルールを追加する
<a name="tutorials-varcheckrule-create-condition"></a>

このステップでは、ステージを編集して、可変チェックルールのエントリ時の条件を追加します。

1. パイプラインを選択し、**[編集]** を選択します。ビルドステージでエントリルールを追加することを選択します。

   **[ルールプロバイダー]** で、**[VariableCheck]** を選択します。

1. **[変数]** に、チェックする変数を入力します。**[値]** に文字列値を入力して、解決された変数と照合します。次の画面の例では、[等しい] チェック用のルールを作成し、[含む] チェック用の別のルールを作成します。  
![\[[等しい] 変数チェックのルール作成ページ\]](http://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/images/varcheck-tut-create-rule-equals.png)  
![\[[含む] 変数チェックのルール作成ページ\]](http://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/images/varcheck-tut-create-rule-contains.png)

1. **[保存]** を選択します。

   **[Done]** (完了) をクリックします。

## ステップ 3: パイプラインを実行し、解決された変数を表示する
<a name="tutorials-varcheckrule-run"></a>

このステップでは、変数チェックルールの解決された値と結果を表示します。

1. 次の例に示すように、ルールチェックが成功した後の解決された実行を表示します。  
![\[成功した実行\]](http://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/images/varcheck-tut-run-succeeded.png)

1. **[タイムライン]** タブで変数情報を表示します。  
![\[変数が成功した [タイムライン] タブを示す履歴ページ\]](http://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/images/varcheck-tut-history.png)