チュートリアル: GitHub パイプラインソースで完全なクローンを使用する - AWS CodePipeline

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

チュートリアル: GitHub パイプラインソースで完全なクローンを使用する

CodePipeline で GitHub ソースアクションの完全なクローンオプションを選択できます。パイプラインビルドアクションで Git メタデータの CodeBuild コマンドを実行するには、このオプションを使用します。

このチュートリアルでは、GitHub リポジトリに接続し、ソースデータに完全クローンオプションを使用し、リポジトリのクローンを作成し、リポジトリの Git コマンドを実行する CodeBuild ビルドを実行します。

注記

この機能は、アジアパシフィック (香港) リージョンまたはヨーロッパ (ミラノ) リージョンではご利用いただけません。そのリージョンで使用可能な他のソースアクションを使用するには、ソースアクションの統合

Prerequisites

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

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

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

ステップ 1: README ファイルの作成

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

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

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

    This is a GitHub repository!
  3. [変更のコミット] を選択します。

    [] を確認してください。README.mdファイルはリポジトリのルートレベルにあります。

ステップ 2: パイプラインを作成し、プロジェクトをビルドする

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

  • GitHub リポジトリとアクションへの接続を持つソースステージ。

  • ビルドステージAWS CodeBuildビルドアクションを作成します。

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

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

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

  3. Eclipseステップ 1: パイプラインの設定の選択, でパイプライン名に、と入力します。MyGitHubPipeline

  4. Eclipseサービスロール] で、サービスロールの作成

    注記

    既存の CodePipeline サービスロールを代わりに使用する場合は、codestar-connections:UseConnectionサービスロールポリシーに対する IAM アクセス許可。CodePipeline サービスロールの手順については、CodePipeline サービスロールにアクセス許可を追加する

  5. EclipseArtifact ストア] で、デフォルトの場所デフォルトのアーティファクトストアを使用する

    注記

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

    [Next] を選択します。

  6. リポジトリの []ステップ 2: ソースステージの追加ページで、ソースステージを追加します。

    1. [ソースプロバイダー] で [GitHub] を選択します。

    2. []接続[] で、既存の接続を選択するか、新しい接続を作成します。GitHub ソースアクションの接続を作成および管理する方法については、GitHub の接続

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

    4. Eclipseブランチ名[] で、使用するリポジトリブランチを選択します。

    5. 選択完全なクローン作成を使用して、ソースリポジトリのgit cloneオプションを有効にします。CodeBuild によって提供されるアクションのみが git clone オプションを使用できます。次のものを使用します。ステップ 3: 接続を使用するように CodeBuild サービスの役割ポリシーを更新するを使用して、このオプションを使用するように CodeBuild プロジェクトサービスロールのパーミッションを更新します。

    [Next] を選択します。

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

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

    2. [Create project (プロジェクトの作成)] を選択します。

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

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

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

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

      注記

      CodeBuild サービスロールの名前をメモしておきます。このチュートリアルの最後のステップでは、ロール名が必要です。

    7. []ビルドSpec, 用ビルド仕様] で、ビルドコマンドの挿入。選択エディタに切り替え[] を選択し、[] に貼り付けます。ビルドコマンド

      注記

      envセクションで、この例に示すように、gitコマンドの資格情報ヘルパーが有効になっていることを確認してください。

      version: 0.2 env: 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: 10 # name: version #commands: # - command # - command pre_build: commands: - ls -lt - cat README.md build: commands: - git log | head -100 - git status - ls - git archive --format=zip HEAD > application.zip #post_build: #commands: # - command # - command artifacts: files: - application.zip # - location #name: $(date +%Y-%m-%d) #discard-paths: yes #base-directory: location #cache: #paths: # - paths
    8. [Continue to CodePipeline (CodePipeline に進む)] を選択します。これにより、CodePipeline コンソールに戻り、設定用にビルドコマンドを使用する CodeBuild プロジェクトが作成されます。ビルドプロジェクトでは、サービスロールを使用してAWSサービスアクセス許可。このステップには数分かかる場合があります。

    9. [Next] を選択します。

  8. リポジトリの []ステップ 4: デプロイステージの追加ページで [] を選択します。デプロイステージのスキップ[] を選択し、警告メッセージを受け入れます。スキップをクリックします。[Next] を選択します。

  9. Onステップ 5: 確認] で、パイプラインの作成

ステップ 3: 接続を使用するように CodeBuild サービスの役割ポリシーを更新する

CodeBuild サービスのロールは、接続を使用するアクセス許可で更新する必要があるため、最初のパイプライン実行は失敗します。の追加codestar-connections:UseConnectionサービスロールポリシーに対する IAM アクセス許可。IAM コンソールでポリシーを更新する手順については、CodeBuild GitCloneアクセス許可を追加する Bitbucket、GitHub、またはGitHub Enterprise サーバーへの接続に

ステップ 4: ビルド出力のリポジトリコマンドを表示する

  1. サービスロールが正常に更新されたら、再試行失敗した CodeBuild ステージで。

  2. パイプラインが正常に実行されたら、ビルドが正常に実行されたら、の詳細

    []実行の詳細で、CodeBuild ビルド出力を表示します。コマンドは、README.mdファイルの内容を確認し、ディレクトリ内のファイルを一覧表示し、リポジトリを複製し、ログを表示し、リポジトリを ZIP ファイルとしてアーカイブします。