Jenkins、 GitLab CI/CD、 GitHub Actions、または Bitbucket Pipelines 用のスターターパイプラインの生成 - AWS Serverless Application Model

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

Jenkins、 GitLab CI/CD、 GitHub Actions、または Bitbucket Pipelines 用のスターターパイプラインの生成

Jenkins、 GitLab CI/CD、 GitHub Actions、または Bitbucket Pipelines のスターターパイプライン設定を生成するには、次のタスクをこの順序で実行します。

  1. インフラストラクチャリソースを作成する

  2. Git リポジトリを CI/CD システムに接続する

  3. 認証情報オブジェクトを作成する

  4. パイプライン設定を生成する

  5. パイプライン設定を Git リポジトリにコミットする

注記

以下の手順は、sam pipeline bootstrapsam pipeline init の 2 つの AWS SAM CLI コマンドを活用します。2 つのコマンドを使用する理由は、管理者 (IAM ユーザーやロールといったインフラストラクチャ AWS リソースをセットアップする許可が必要なユーザー) がデベロッパー (個々のパイプラインをセットアップする許可だけが必要で、インフラストラクチャ AWS リソースをセットアップする許可は必要ないユーザー) よりも多くの許可を持つユースケースを処理するためです。

ステップ 1: インフラストラクチャリソースを作成する

AWS SAM を使用するパイプライには、必要な許可を持つ IAM ユーザーとロール、Amazon S3 バケット、およびオプションの Amazon ECR リポジトリといった特定の AWS リソースが必要です。パイプラインのデプロイステージごとに、一連のインフラストラクチャリソースが必要です。

このセットアップには、以下のコマンドを実行できます。

sam pipeline bootstrap
注記

上記のコマンドは、パイプラインのデプロイステージごとに実行します。

後続のステップで必要になるため、パイプラインのデプロイステージごとにパイプラインユーザーの AWS 認証情報 (キー ID とシークレットキー) をキャプチャする必要があります。

ステップ 2: Git リポジトリを CI/CD システムに接続する

構築とデプロイのために CI/CD システムがアプリケーションソースコードにアクセスできるようにするには、Git リポジトリを CI/CD システムに接続する必要があります。

注記

以下の組み合わせのいずれかを使用している場合は接続が自動的に行われるため、このステップを省略できます。

  1. GitHub GitHub リポジトリでのアクション

  2. GitLab CI/CD と GitLab リポジトリ

  3. Bitbucket リポジトリを持つ Bitbucket Pipelines

Git リポジトリを CI/CD システムに接続するには、以下のいずれかを実行します。

  • Jenkins を使用している場合は、「ブランチソースの追加」について Jenkins ドキュメントを参照してください。

  • GitLab CI/CD と 以外の Git リポジトリを使用している場合は GitLab、「外部リポジトリの接続」のGitLabドキュメントを参照してください。

ステップ 3: 認証情報オブジェクトを作成する

各 CI/CD システムには、CI/CD システムが Git リポジトリにアクセスするために必要な認証情報を管理するための独自の方法があります。

必要な認証情報オブジェクトを作成するには、以下のいずれかを実行します。

  • Jenkins を使用している場合は、キー ID とシークレットキーの両方を保存する単一の「認証情報」を作成します。Building a Jenkins Pipeline with AWS SAM ブログの「Configure Jenkins」セクションにある手順に従ってください。次のステップでは「認証情報 ID」が必要になります。

  • GitLab CI/CD を使用している場合は、キー ID とシークレットキーごとに 1 つずつ、2 つの「保護された変数」を作成します。GitLab ドキュメントの指示に従ってください。次のステップには 2 つの「可変キー」が必要です。

  • GitHub Actions を使用している場合は、キーとシークレットキーごとに 1 つずつ、「暗号化されたシークレット」を 2 つ作成します。GitHub ドキュメントの指示に従ってください。次のステップには 2 つの「シークレット名」が必要です。

  • Bitbucket Pipelines を使用している場合は、2 つの「セキュア変数」(キー ID とシークレットキーごとに 1 つずつ) を作成します。変数とシークレットにある手順に従ってください。次のステップでは 2 つの「シークレット名」が必要になります。

ステップ 4: パイプライン設定を生成する

パイプライン設定を生成するには、以下のコマンドを実行します。前のステップで作成した認証情報オブジェクトを入力する必要があります。

sam pipeline init

ステップ 5: パイプライン設定を Git リポジトリにコミットする

このステップは、CI/CD システムがパイプライン設定を認識しており、変更のコミット時に実行されることを確実にするために必要です。

詳細はこちら

GitHub Actions を使用して CI/CD パイプラインを設定する実践的な例については、「包括的な AWS SAM ワークショップ」の「GitHub を使用した CI/CD」を参照してください。