AWS CodePipeline
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com
GitLabプロジェクトを使用して、AWS CodePipelineを使用してビルド、テスト、デプロイコードの変更を行うことができます。これを行うには、次のものを使用します:
- AWS CodeStar Connectionsを使用して、GitLab.comアカウントをAWSに接続します。
- その接続を使用して、コードへの変更に基づいてパイプラインを自動的に開始します。
AWS CodePipelineからGitLabへの接続を作成する
前提要件:
- AWS CodePipelineに接続しているGitLabプロジェクトでオーナーロールを持っている必要があります。
- AWSで接続を作成するための適切な認可を持っている必要があります。
- サポートされているAWSリージョンを使用する必要があります。サポートされていないAWSリージョン(AWSドキュメントにも記載)は次のとおりです:
- アジアパシフィック(香港)。
- アフリカ(ケープタウン)。
- 中東(バーレーン)。
- ヨーロッパ(チューリッヒ)。
- AWS GovCloud(米国西部および米国東部)。
GitLab.com上のプロジェクトへの接続を作成するには、AWS Management ConsoleまたはAWSコマンドラインインターフェイス(AWS CLI)を使用できます。
AWS Management Consoleを使用する
AWS CodePipelineで新規または既存のパイプラインをGitLab.comに接続するには、まず、GitLabアカウントを使用するようにAWSの接続を認可します。
- AWS Management Consoleにサインインし、AWS Developer Tools consoleを開きます。
- 設定 > Connections(接続) > Create connection(接続の作成)を選択します。
- Select a provider(プロバイダーの選択)で、GitLabを選択します。
- Connection name(接続名)に、作成する接続の名前を入力し、Connect to GitLab(GitLabに接続)を選択します。
- GitLabのサインインページで、認証情報を入力し、サインインするを選択します。
- GitLabアカウントへのアクセスをリクエストする認可をリクエストするメッセージとともに、認可ページが表示されます。許可するを選択します。
- ブラウザが接続コンソールページに戻ります。Create GitLab connection(GitLab接続の作成)セクションで、新しい接続がConnection name(接続名)に表示されます。
- Connect to GitLab(GitLabに接続)を選択します。接続が正常に作成されると、成功バナーが表示されます。接続の詳細は、Connection settings(接続設定)ページに表示されます。
これで、AWS CodeSuiteをGitLab.comに接続したので、GitLabプロジェクトを活用するAWS CodePipelineでパイプラインを作成または編集できます。
AWS CodePipelineコンソールにサインインします。
パイプラインを作成または編集します:
- パイプラインを作成する場合:
- 最初の画面でフィールドに入力し、次へを選択します。
- ソースページのSource Provider(ソースプロバイダー)セクションで、GitLabを選択します。
- 既存のパイプラインを編集する場合:
- 編集 > Edit stage(ステージの編集)を選択して、ソースアクションを追加または編集します。
- Edit action(アクションの編集)ページのAction name(アクション名)セクションに、アクションの名前を入力します。
- Action provider(アクションプロバイダー)で、GitLabを選択します。
- パイプラインを作成する場合:
接続で、以前に作成した接続を選択します。
リポジトリ名で、GitLabプロジェクトの名前を選択するには、ネームスペースとすべてのサブグループを含む完全なプロジェクトパスを指定します。たとえば、グループレベルのプロジェクトの場合は、次の形式でプロジェクト名を入力します:
group-name/subgroup-name/project-name。ネームスペースを含むプロジェクトパスは、GitLabのURLにあります。他の特別なURLセグメントが含まれているため、Web IDEまたはrawビューからURLをコピーしないでください。ダイアログからオプションを選択するか、新しいパスを手動で入力することもできます。詳細については、以下を参照してください:- パスとネームスペースについては、projects APIの
path_with_namespaceフィールドを参照してください。 - GitLabのネームスペースについては、ネームスペースを参照してください。
- パスとネームスペースについては、projects APIの
ブランチ名で、パイプラインでソースの変更を検出するブランチを選択します。ブランチ名が自動的に入力されたない場合は、次のいずれかが原因である可能性があります:
- プロジェクトのオーナーロールを持っていない。
- プロジェクト名が無効である。
- 使用されている接続に、プロジェクトへのアクセス権がない。
Output artifact formatで、アーティファクトの形式を選択します。保存するには:
- デフォルトのメソッドを使用してGitLabアクションから出力アーティファクトを保存するには、CodePipeline defaultを選択します。アクションはGitLabリポジトリからファイルにアクセスし、パイプラインアーティファクトストアにアーティファクトをZIPファイルに保存します。
- ダウンストリームアクションがGitコマンドラインを直接実行できるように、リポジトリへのURL参照を含むJSONファイルで、Full clone(完全クローン)を選択します。このオプションは、CodeBuildダウンストリームアクションでのみ使用できます。このオプションを選択するには:
ソースアクションを保存して続行します。
AWS CLIを使用する
AWS CLIを使用して接続を作成するには:
create-connectionコマンドを使用します。- GitLab.comアカウントで認証するために、AWSコンソールに移動します。
- GitLabプロジェクトをAWS CodePipelineに接続します。
create-connectionコマンドを使用するには:
ターミナル(Linux、macOS、またはUnix)またはコマンドラインプロンプト(Windows)を開きます。AWS CLIを使用して
create-connectionコマンドを実行し、接続の--provider-typeと--connection-nameを指定します。この例では、サードパーティプロバイダー名はGitLabで、指定された接続名はMyConnectionです。aws codestar-connections create-connection --provider-type GitLab --connection-name MyConnection成功すると、このコマンドは接続のAmazonリソースネーム(ARN)情報を返します。例:
{ "ConnectionArn": "arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f" }新しい接続は、デフォルトで
PENDINGステータスで作成されます。コンソールを使用して、接続のステータスをAVAILABLEに変更します。AWSコンソールを使用して接続を完了します。保留中のGitLabの接続を選択していることを確認してください。Create connection(接続の作成)を選択しないでください。