ここでは、様々なツールに焦点を当てた記事やチュートリアルをご紹介します。
CI/CDパイプラインは、現代のソフトウェア開発に必要不可欠なものです。
その背景には、マイクロサービス時代の到来があります。
目まぐるしく変わるビジネス要求に対して、短いリードタイムで確実にサービスを提供し続ける必要があります。
このような状況では、ビルドやデプロイを手動で実施していくのは非効率で、すぐに破綻します。専用ツールのパイプラインで自動化されたプロセスが欠かせません。
幅広いCI/CDツールを充実させていく予定ですので、ご参考いただければ幸いです。
GitHub Actions
#GitHub ActionsはGitHubが提供するCI/CDサービスです。
今やGitHubでホスティングされているプロジェクトでは、かなりの割合で利用されているのではないでしょうか?
制限はありますが、無料で使い始められるところも大きな魅力ですね。
各種ユースケースに対応したカスタムActionも幅広く公開されており、ほとんどのプロジェクトはこれ1つでカバーできると言っても過言ではないでしょう。
今後ますますの拡がりが期待できます。
- GitHub Actions ワークフローにおけるジョブ制御
- GitHub Actions - 再利用可能ワークフローを使う
- GitHub のリリースノート自動生成機能を使う
- GitHub Actions ワークフローで個別ジョブのリランが可能に
- GitHub Actions ジョブサマリー機能を使う
- GitHub Actions - 再利用可能ワークフローと手動トリガーで入力値の扱いを統一
- GitHub Actions のセルフホストランナーを M1 Mac で動かす
- ソフトウェアサプライチェーンセキュリティのための GitHub Actions ワークフロー
- GitHub Actions 再利用可能ワークフローでネスト呼び出しと Matrix strategy が解禁
- カスタムワークフローで GitHub Pages デプロイが可能に
- Slack の GitHub インテグレーションで GitHub Actions ワークフローのイベントを通知可能に
- GitHub Actions - private リポジトリの Action と再利用可能ワークフローが呼び出しが可能に
- GitHub Actions - オーガニゼーションレベルの required workflows (public beta) を試す
- GitHub Actions - 構成変数(環境変数)が外部設定できるようになったので用途を整理する
- GitHub Actions を AWS CodeBuild で実行する
- GitHub ActionsのセルフホステッドランナーとしてAWS CodeBuildを使う
豆蔵有志でも、特定ユースケースに対応したActionをOSSとして公開しています。
Flux
#Fluxは、今では様々な領域で普及しているGitOpsのプラクティスを提唱したWeaveworks社が開発した継続的デリバリツールです。
CIとしての機能はありませんが、KubernetesでGitOpsを実践するなら是非抑えておきたいツールです。
ArgoCD
#ArgoCDはFluxと並んでGitOpsを体現する継続的デリバリツールです。
直感的なUIが魅力で、GitOpsツールとしてかなり有力な選択肢になっているものです。
弊社の社内システムでも、ArgoCDを使ったGitOpsを採用しています。
Dagger
#Docker開発者によって作成されたツールのDagger。
他のCIツールとは違い、コンテナが動く環境であればどんなツールにも組み込むことが可能です。 例えば、GitHub Actions上でDaggerのパイプラインを動かすなんてこともでき、他のCI/CD製品とは一線を画すツールと言えます。
かなり新しいツールですが、パイプラインの新時代を先取りしてみてはいかがでしょうか?