Plugin経由でビルドを実行しCIを実行する手順を以下にまとめます。CodeBuildはAWSが提供しているビルドサービスで、buildspec.ymlを設定すると指定したコンテナ上で処理を実行してくれます。CodeBuildはGitHubやGitBucketからは直接webhookで連携することができますが、残念ながらGitLabは対応していないため、Jenkinsとプラグインを経由して実行するようにします。前提Jenkins、GitLabがAWS上に構築されていてそれぞれお互いに連携可能な状態であることを前提とします。JenkinsとGitLabの連携についてはこちらをご参照ください。CodeBuildを設定する「ビルドプロジェクトを作成する」を選択してビルドプロジェクト作成画面へ遷移します。以下の内容を設定します。S3のロールを付与するバケットを選択する。CodeBuildのロールが付与されます。S3バケット:キャッシュ用のバケットを選択。CodeBuildのロールが付与されます。※について、AWSで用意されているランタイムはバージョンに制約があったり、ビルドやCIの中で使うツールを都度設定しないといけなかったりするので、ECRに自前のコンテナを登録して使うとよいでしょう。Pluginをインストールするだけです。CodeBuildのログもJenkinsから確認できます。CodeBuildのロールポリシーをアタッチしますAWSCodeBuildDeveloperAccessJenkinsfileを記述する以下のようにJenkinsfileの中でawsCodeBuildディレクティブを記載すればよいです。credentialsTypeはIAMロールで実行する場合でもkeysを選択します。CodeBuildの間にS3を挟んでソースをやりとりするようになります。buildspec.ymlを設定するbuildspec.ymlの中で実際にビルドの中で実行する内容を記述します。レポジトリの中でシェルスクリプトでまとめておくと見やすいでしょう。buildspec.ymlの中でJenkinsfileから連携した環境変数が利用できます。CodeBuildが実行されれば実行成功です。CodeBuildではブランチの制御ができません。buildspec.ymlでartifactを定義すると、featureブランチでもartifactが生成されてしまいます。そのため、環境変数でブランチ名を伝搬させて、artifactの保存はawsのS3コマンドで実行するとよいでしょう。requestStockLike11@takamii228ITエンジニアLv.0b110🖥CI/CDパイプラインの話でご飯3杯食べれる人。SAA、CSM、CSPO🏉AtlassianとGitLabが好き。Jenkinsも少し。AWS、Java(SpringBoot)、PHP(Laravel)やって今はFlutter。upLoginユーザーは見つかりませんでした。