こんにちは、フルスタックエンジニアのryuです。
今回の記事は、GitLabとCodeBuildを連携させる方法を解説します。CodeBuildでソースコードのリポジトリを選択する際、GitLabの選択肢がありません。GitLabのソースコードを連携させるためには、GitLabをCodeCommitにミラーリングすればよいのです。
目次
【AWS】GitLabとCodeBuildを連携させる方法は?
GitLabとCodeBuildを連携させるにはどうやったらいいの?
今回の記事では、GitLabとCodeBuildを連携させる方法を解説します。
結論は、GitLabとCodeCommitをミラーリングさせて、CodeCommitとCodeBuildeを連携させれば実装できます!
では、どうやって設定すればよいのでしょうか?設定方法を詳しく解説します。
CodeBuildにはGitLabと連携する設定が無い?
まず、CodeBuildとGitリポジトリの連携する設定を確認しましょう。
CodeBuildの設定画面を開いて、「ビルドプロジェクトを作成する」をクリックします。すると、CodeBuildの作成画面に移動します。
その中の「ソース」の項目を見てみましょう。以下の画像のようになります。
ソースプロパイダには、GitLabがありません。この場合、「AWS CodeCommit」を選択しましょう。
CodeBuildのその他の設定については、こちらの記事で解説しているので、CodeBuildの作成方法が分からない方はこちらをご覧ください。
【AWS】CodeBuildを使ってSPAアプリをS3で公開する方法解説!【初心者でも設定可能】 (engineer-ninaritai.com)
GitLabと連携させるためのCodeCommitリポジトリを作成
ではここから本題です。
GitLabと連携させるためのCodeCommitリポジトリを作成しましょう。
AWSのコンソール画面からCodeCommitと検索し、CodeCommitの設定画面に移動しましょう。
画面右上の「リポジトリの作成」からリポジトリを作成します。
CodeCommitの設定は特になく、リポジトリに名前を付けるだけです。また、IAMユーザーを作成してCodeCommitの権限を付与しておきましょう。詳しい設定方法については、こちらの記事を参考にしてください。
【AWS】CodeCommitの使い方解説【リポジトリ作成からpushまで】 (engineer-ninaritai.com)
GitLabとCodeCommitをミラーリングさせる
次に、GitLabとCodeCommitをミラーリングさせます。そうすることで、GitLabに変更があった場合はCodeCommitにも自動で変更が反映されます。
GitLabの設定方法
では、GitLabの設定を行いましょう。
「Settings」から「Repository」を選択します。
項目の中から「Mirror a repository」を選びます。
そして、CodeCommitにアクセスする設定をします。Git repository URLでは、「https://[ユーザー名]@[gitのURL」を入力します。
ユーザ名はIAMユーザではなく、IAMユーザの認証情報から作成したCodeCommitのSSHキーです。
入力が完了したら、「Mirror repository」をクリックして完了です。
GitLabのソースコードがミラーリングされない場合
GitLabのソースコードがミラーリングされない場合はCodeCommitのリポジトリを作りなおしましょう。
リポジトリに何かソースコードが入っていると、ミラーリングが失敗します。空のリポジトリでミラーリングすると成功します。
その他のエラーについては、GitLabの公式ドキュメントを参考にしてください。
GitLabとCodeBuildを連携させる方法まとめ
今回の記事では、GitLabとCodeBuildを連携させる方法を解説しました。
GitLabとCodebuildを連携させるためには、CodeCommitとGitLabをミラーリングさせます。
CodeBuildのリポジトリの選択でGitLabも出るようになって欲しいですね・・・この設定は割りとめんどくさいです。
このようなAWSの小ネタを投稿していくので、その他の記事にも興味ある方はこちらからご覧ください。
aws | インフラエンジニアになりたくて。 (engineer-ninaritai.com)
さらにAWSについて学びたいという方は、こちらの講座がオススメです。初心者の方向けにAWSについて幅広く学ぶことが可能です。
AWS認定ソリューションアーキテクト アソシエイト試験突破講座 – 初心者向け20時間完全コース-
こちらの参考書もオススメです。