AWS CodeBuildのソースプロバイダを「なし」に設定するメリットと注意点
はじめに
先日、現在運用しているAWS CodeBuildの設定を見直していたところ、ソースプロバイダが「Bitbucket」に設定されているプロジェクトがあることに気づきました。
ソースプロバイダが設定されていること自体は通常の設定ですが、よく確認してみると、そのCodeBuildプロジェクトは毎回Bitbucketからコードを直接参照する必要がない構成でした。そこで、思い切ってソースプロバイダを「なし」にする変更を加えてみました。
今回の記事では、この設定変更を行った背景と、CodeBuildでソースプロバイダを「なし」に設定することのメリット・デメリットについて共有します。
ソースプロバイダを「なし」にするとは?
まず、CodeBuildにおけるソースプロバイダの設定について整理します。
-
ソースプロバイダあり(通常) GitHubやBitbucketなどが設定されている場合、CodeBuildは実行時にそのリポジトリからソースコードを取得(Checkout)してビルドを行います。
-
ソースプロバイダなし 特定のリポジトリと紐付けを行いません。この場合、CodeBuildはS3などに事前に保存されているソース(入力アーティファクト)を参照して実行される形が一般的です。
メリット:可用性の向上
ソースプロバイダを「なし」に設定する最大のメリットは、外部サービスへの依存度を下げることによる可用性の向上です。
ソースプロバイダ(BitbucketやGitHubなど)側で障害が発生している場合でも、CodeBuild自体はそれらと切り離されているため、影響を受けずに使用することができます。
例えば、AWS CodePipelineを使用している場合、Sourceステージで取得したアーティファクトがS3に渡されていれば、GitプロバイダがダウンしていてもBuildステージ(CodeBuild)は問題なく稼働し続けることが可能です。これはシステムの可用性を高める上で重要なポイントになります。
デメリットと注意点
一方で、安易に「なし」に設定してしまうと問題が起きる場合もあります。
本来、ソースプロバイダを設定しておくべきCodeBuildプロジェクトで設定を解除してしまうと、コードの更新が上手く反映されなかったり、スクリプトが意図通りの動きをしなくなったりする可能性があります。
最後に
ソースプロバイダを「なし」にする変更は、外部障害への耐性を強め、システムの可用性を高めることができる有効な手段です。
ただし、変更を加える際は、そのCodeBuildが本当にGitリポジトリへの直接接続を必要としていないか、十分に確認してから実施してください。不要な依存関係を排除して、より堅牢なビルド環境を構築していきましょう!
※この記事は内容をGeminiにMarkdown記法へ変更してもらったものです。