aws

【AWS】GitLabとCodeBuildを連携させる方法は?

こんにちは、フルスタックエンジニアのryuです。

今回の記事は、GitLabとCodeBuildを連携させる方法を解説します。CodeBuildでソースコードのリポジトリを選択する際、GitLabの選択肢がありません。GitLabのソースコードを連携させるためには、GitLabをCodeCommitにミラーリングすればよいのです。

関連【おすすめ】コマンドを打ちながらLinuxが学べるサイトInfraAcademy

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

【AWS】GitLabとCodeBuildを連携させる方法は?

GitLabとCodeBuildを連携させるにはどうやったらいいの?

今回の記事では、GitLabとCodeBuildを連携させる方法を解説します。

結論は、GitLabとCodeCommitをミラーリングさせて、CodeCommitとCodeBuildeを連携させれば実装できます!

では、どうやって設定すればよいのでしょうか?設定方法を詳しく解説します。

CodeBuildにはGitLabと連携する設定が無い?

まず、CodeBuildとGitリポジトリの連携する設定を確認しましょう。

CodeBuildの設定画面を開いて、「ビルドプロジェクトを作成する」をクリックします。すると、CodeBuildの作成画面に移動します。

その中の「ソース」の項目を見てみましょう。以下の画像のようになります。

CodeBuildでGitLabの項目がない

ソースプロパイダには、GitLabがありません。この場合、「AWS CodeCommit」を選択しましょう。

CodeBuildのその他の設定については、こちらの記事で解説しているので、CodeBuildの作成方法が分からない方はこちらをご覧ください。

【AWS】CodeBuildを使ってSPAアプリをS3で公開する方法解説!【初心者でも設定可能】 (engineer-ninaritai.com)

GitLabと連携させるためのCodeCommitリポジトリを作成

ではここから本題です。

GitLabと連携させるためのCodeCommitリポジトリを作成しましょう。

AWSのコンソール画面からCodeCommitと検索し、CodeCommitの設定画面に移動しましょう。

画面右上の「リポジトリの作成」からリポジトリを作成します。

CodeCommitでリポジトリを作成

CodeCommitの設定は特になく、リポジトリに名前を付けるだけです。また、IAMユーザーを作成してCodeCommitの権限を付与しておきましょう。詳しい設定方法については、こちらの記事を参考にしてください。

【AWS】CodeCommitの使い方解説【リポジトリ作成からpushまで】 (engineer-ninaritai.com)

GitLabとCodeCommitをミラーリングさせる

次に、GitLabとCodeCommitをミラーリングさせます。そうすることで、GitLabに変更があった場合はCodeCommitにも自動で変更が反映されます。

GitLabの設定方法

では、GitLabの設定を行いましょう。

「Settings」から「Repository」を選択します。

GitLabのSettings

項目の中から「Mirror a repository」を選びます。

そして、CodeCommitにアクセスする設定をします。Git repository URLでは、「https://[ユーザー名]@[gitのURL」を入力します。

GitLabとCodecommitの連携

ユーザ名はIAMユーザではなく、IAMユーザの認証情報から作成したCodeCommitのSSHキーです。

AWSのキー

入力が完了したら、「Mirror repository」をクリックして完了です。

GitLabのソースコードがミラーリングされない場合

GitLabのソースコードがミラーリングされない場合はCodeCommitのリポジトリを作りなおしましょう。

リポジトリに何かソースコードが入っていると、ミラーリングが失敗します。空のリポジトリでミラーリングすると成功します。

その他のエラーについては、GitLabの公式ドキュメントを参考にしてください。

Repository mirroring | GitLab

GitLabとCodeBuildを連携させる方法まとめ

今回の記事では、GitLabとCodeBuildを連携させる方法を解説しました。

GitLabとCodebuildを連携させるためには、CodeCommitとGitLabをミラーリングさせます。

CodeBuildのリポジトリの選択でGitLabも出るようになって欲しいですね・・・この設定は割りとめんどくさいです。

このようなAWSの小ネタを投稿していくので、その他の記事にも興味ある方はこちらからご覧ください。

aws | インフラエンジニアになりたくて。 (engineer-ninaritai.com)

さらにAWSについて学びたいという方は、こちらの講座がオススメです。初心者の方向けにAWSについて幅広く学ぶことが可能です。

AWS認定ソリューションアーキテクト アソシエイト試験突破講座 – 初心者向け20時間完全コース-

こちらの参考書もオススメです。

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
InfraAcademyというインフラエンジニア向けの学習サービスを運営しております。 インフラエンジニアからフルスタックエンジニア、PdM サーバ、ネットワーク、セキュリティ、クラウドについて投稿します。
RELATED POST