Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 12 additions & 7 deletions documents/forAWS/aws_guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -1492,12 +1492,12 @@ CI/CD(継続的インテグレーション/継続的デリバリー/デプロ

AWSでCI/CDを行うためのサービスには主に以下の選択肢がある。

| ツール | 概要 | 特徴 |
| :----------------------------- | :------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Github Actions | GitHubに統合されたCI/CDツール | GitHubとの親和性が高く、利用者が多くCICDサービスとして人気のあるサービス。特に小規模~中規模プロジェクトで多くの採用事例があるため情報が豊富 |
| AWS CodePipeline AWS CodeBuild | AWS利用に最適化されたCI/CDツール | AWSに統合されており、IAM、ECR、S3との統合がスムーズであるが、やや柔軟性に欠ける。AWS CodeCommitが新規ユーザー利用を廃止したことによりソースリポジトリは外部のサービス利用が前提となる |
| Jenkins | オンプレミス型のCI/CDツール | かつてのデファクトスタンダードであり、今でも利用されている。プラグインが豊富で、情報量が多い。メンテナンスが比較的大変な傾向がある(セキュリティ・プラグイン管理など) |
| GitLab CI/CD | GitLab一体型のCI/CDサービス | オールイン開発プラットフォームの思想を持つサービスで、CI/CDが中核機能として組み込まれている。DockerやKubernetesとの親和性が高い |
| ツール | 概要 | 特徴 |
| :----------------------------- | :------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Github Actions | GitHubに統合されたCI/CDツール | GitHubとの親和性が高く、利用者が多くCICDサービスとして人気のあるサービス。特に小規模~中規模プロジェクトで多くの採用事例があるため情報が豊富 |
| AWS CodePipeline AWS CodeBuild | AWS利用に最適化されたCI/CDツール | AWSに統合されており、IAM、ECR、S3との統合がスムーズであるが、やや柔軟性に欠ける |
| Jenkins | オンプレミス型のCI/CDツール | かつてのデファクトスタンダードであり、今でも利用されている。プラグインが豊富で、情報量が多い。メンテナンスが比較的大変な傾向がある(セキュリティ・プラグイン管理など) |
| GitLab CI/CD | GitLab一体型のCI/CDサービス | オールイン開発プラットフォームの思想を持つサービスで、CI/CDが中核機能として組み込まれている。DockerやKubernetesとの親和性が高い |

AWSでCI/CDを構成する際に使用されるアーティファクトの格納先は以下のようなものがある。

Expand All @@ -1512,10 +1512,15 @@ AWSでCI/CDを構成する際に使用されるアーティファクトの格納

- 利用するソースコードリポジトリに対応したCI/CDサービスを利用することを推奨する
- 例:Githubを使用する場合、Github Actions、GitLabを使用する場合、GitLab CI/CDを使用することが望ましい
- AWS CodeCommit は新規ユーザー利用を廃止していることから、利用を推奨しない
- AWS CodeCommit は新規ユーザー利用を一度停止していることから、原則、新規の採用を控える
- コンプライアンス要件等でデータの保管場所をAWSに限定する必要がある場合のミラーリング/バックアップ用途としての利用は許容する
- 運用負荷を考慮し、JenkinsではなくマネージドなCI/CDサービスの利用を推奨する
- 上記より、GithubとGithub Actions または GitLabとGitLab CI/CDサービスのどちらかを推奨する

::: info 参考
2024.7.31 [AWS CodeCommit リポジトリを他の Git プロバイダーに移行する方法](https://aws.amazon.com/jp/blogs/news/aws-codecommit-returns-to-general-availability/)にて、CodeCommitは新規利用が停止され段階的に廃止する方針だと発表された。しかし、2025.11.24 [AWS CodeCommit の今後について](https://aws.amazon.com/jp/blogs/news/aws-codecommit-returns-to-general-availability/) にて一般提供(GA)に戻すという発表があった。
:::

## CI/CD各パイプラインの連携について

CI/CDを実装するにあたって、CIとCDの各パイプラインの連携方法は、CIとCDのパイプラインを統合して実装するケース、分けて実装するケースが考えられる。
Expand Down