チュートリアル: Git タグを使用してパイプラインを開始する - AWS CodePipeline

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

チュートリアル: Git タグを使用してパイプラインを開始する

このチュートリアルでは、ソースアクションが Git タグトリガータイプに設定されている GitHub リポジトリに接続するパイプラインを作成します。コミット時に Git タグが作成されると、パイプラインが開始されます。この例では、タグ名の構文に基づいてタグをフィルタ処理するパイプラインの作成方法を示しています。glob パターンを使用したフィルタ処理の詳細については、「構文での glob パターンの使用」を参照してください。

このチュートリアルでは、 CodeStarSourceConnectionアクションタイプ GitHub を使用して に接続します。

注記

この機能は、アジアパシフィック (香港)、アフリカ (ケープタウン)、中東 (バーレーン)、または欧州 (チューリッヒ) リージョンでは利用できません。利用可能なその他のアクションについては、「との製品とサービスの統合 CodePipeline」を参照してください。欧州 (ミラノ) リージョンでのこのアクションに関する考慮事項については、「CodeStarSourceConnection Bitbucket Cloud、 GitHub Enterprise Server GitHub、 GitLab.com、および GitLab セルフマネージドアクション用」の注意を参照してください。

前提条件

開始する前に、以下を実行する必要があります。

  • GitHub アカウントで GitHub リポジトリを作成します。

  • GitHub 認証情報を用意します。を使用して接続 AWS Management Console を設定すると、 GitHub 認証情報でサインインするように求められます。

ステップ 1: CloudShell リポジトリを開いてクローンを作成する

コマンドラインインターフェイスを使用して、リポジトリの複製、コミット、タグの追加を行うことができます。このチュートリアルでは、コマンドラインインターフェイスの CloudShell インスタンスを起動します。

  1. AWS Management Consoleにサインインします。

  2. 上部のナビゲーションバーで、 AWS アイコンを選択します。 AWS Management Console のメインページが表示されます。

  3. 上部のナビゲーションバーで icon AWS CloudShell . CloudShell opens を選択します。 CloudShell 環境が作成されるまで待ちます。

    注記

    CloudShell アイコンが表示されない場合は、 でサポートされているリージョン CloudShellにいることを確認してください。このチュートリアルは、米国西部 (オレゴン) リージョンにいることを前提としています。

  4. で GitHub、リポジトリに移動します。[コード] を選択してから、[HTTPS] を選択します。パスをコピーします。Git リポジトリのクローンを作成するアドレスがクリップボードにコピーされます。

  5. 次のコマンドを実行してリポジトリを複製します。

    git clone https://github.com/<account>/MyGitHubRepo.git
  6. プロンプトが表示されPasswordたら、 GitHub アカウントUsernameと を入力します。Password エントリには、アカウントのパスワードではなく、ユーザーが作成したトークンを使用する必要があります。

ステップ 2: Git タグでトリガーするパイプラインを作成する

このセクションでは、次のアクションを使用してパイプラインを作成します。

  • GitHub リポジトリとアクションへの接続があるソースステージ。

  • ビルドアクションを含む AWS CodeBuild ビルドステージ。

ウィザードを使用してパイプラインを作成するには
  1. https://console.aws.amazon.com/codepipeline/ で CodePipeline コンソールにサインインします。

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

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

  4. [パイプラインのタイプ] で、デフォルトの選択を [V2] のままにします。パイプラインのタイプによって特徴および価格が異なります。詳細については、「パイプラインのタイプ」を参照してください。

  5. [サービスロール] で、[New service role (新しいサービスロール)] を選択します。

    注記

    代わりに既存の CodePipeline サービスロールを使用する場合は、サービスロールポリシーに codestar-connections:UseConnection IAM アクセス許可を追加していることを確認してください。 CodePipeline サービスロールの手順については、「サービスロール にアクセス許可を追加する CodePipeline 」を参照してください。

  6. [詳細設定] では、デフォルト値のままにします。アーティファクトストアで、[Default location] (デフォルトの場所)を選択し、パイプライン用に選択したリージョン内のパイプラインのデフォルトのアーティファクトストア (デフォルトとして指定された Amazon S3 アーティファクトバケットなど) を使用します。

    注記

    これはソースコードのソースバケットではありません。パイプラインのアーティファクトストアです。パイプラインごとに S3 バケットなどの個別のアーティファクトストアが必要です。

    [次へ] をクリックします。

  7. ステップ 2: [Add source stage] (ソースステージの追加) ページで、ソースステージを追加します。

    1. ソースプロバイダー でGitHub (バージョン 2) を選択します。

    2. 接続 で、既存の接続を選択するか、新規の接続を作成します。 GitHub ソースアクションの接続を作成または管理するには、「」を参照してくださいGitHub 接続

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

    4. [パイプライントリガー] で、[Git タグ] を選択します。

      [Include] フィールドに「release*」と入力します。

      [デフォルトブランチ] で、パイプラインを手動で開始する場合、または Git タグではないソースイベントで開始する場合に指定するブランチを選択します。変更元がトリガーでない場合やパイプラインの実行が手動で開始された場合は、デフォルトブランチの HEAD コミットが変更として使用されます。

      重要

      Git タグのトリガータイプで開始されるパイプラインは、WebhookV2 イベントに対して設定されます。パイプラインの開始に Webhook イベント (すべてのプッシュイベントに対して変更検出を行う) は使用されません。

    [次へ] をクリックします。

  8. [Add build stage (ビルドステージの追加)] で、ビルドステージを追加します。

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

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

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

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

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

    6. [サービスロール] で、[New service role (新しいサービスロール)] を選択します。

      注記

      CodeBuild サービスロールの名前を書き留めます。このチュートリアルの最後のステップでは、ロール名が必要になります。

    7. [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
    8. 「続行」を選択します CodePipeline。これによりコンソール CodePipelineに戻り、ビルドコマンドを使用して設定を行う CodeBuild プロジェクトが作成されます。ビルドプロジェクトでは、サービスロールを使用して AWS のサービス アクセス許可を管理します。このステップには数分かかる場合があります。

    9. [次へ] をクリックします。

  9. [Step 4: Add deploy stage (ステップ 4: デプロイステージの追加)] ページで、[Skip deploy stage (デプロイステージのスキップ)] を選択し、[スキップ] を選択して警告メッセージを受け入れます。[次へ] をクリックします。

  10. [Step 5: Review (ステップ 5: 確認)] で、[パイプラインの作成] を選択します。

ステップ 3: リリースに対するコミットにタグを付ける

パイプラインを作成して Git タグを指定したら、リポジトリ内のコミットにタグを付ける GitHubことができます。以下の手順では、コミットに release-1 タグを付けます。Git リポジトリ内の各コミットには、それぞれ一意の Git タグが必要です。コミットを選択してタグを付けると、さまざまなブランチからの変更をパイプラインのデプロイに組み込むことができます。タグ名のリリースは、 のリリースの概念には適用されないことに注意してください GitHub。

  1. コピーしたコミット ID のうち、タグを付けるものを参照します。各ブランチのコミットを表示するには、 CloudShell ターミナルで次のコマンドを入力して、タグ付けするコミット IDsをキャプチャします。

    git log
  2. CloudShell ターミナルで、 コマンドを入力してコミットにタグを付け、オリジンにプッシュします。コミットにタグを付けた後、git Push コマンドを使用してタグを元のリポジトリにプッシュします。以下の例では、次のコマンドを入力して、ID 49366bd の 2 番目のコミットに release-1 タグを使用しています。このタグはパイプラインの release* タグフィルタによって処理されて、パイプラインの実行が開始されます。

    git tag release-1 49366bd
    git push origin release-1
    ターミナルを使用して、コミットにタグを付けるコマンドを実行します。

ステップ 4: 変更をリリースしてログを表示する

  1. パイプラインが正常に実行されたら、デプロイステージで [ログの表示] を選択します。

    ログ で、 CodeBuild ビルド出力を表示します。このコマンドは、入力された変数の値を出力します。

  2. [履歴] ページで、[トリガー] 列を表示します。トリガータイプ GitTag : release-1 を表示します。