VMWareのシニアスタッフエンジニアであるBryan Liles氏は、CI/CDパイプラインを構築する際のパターンと推奨事項の考えについてDeliveryConfで語った。Liles氏は、単にJenkinsやSpinnakerを使用するような、実装ではなくパターンとしてCI/CDについて考えることを勧めている。交換可能なコンポーネントを備えたコンポーザブルブロックを備え、テクノロジースタックに依存しないプラットフォームを構築できる必要がある。

Liles氏は、いくつの企業がCI/CDパイプラインを従来通りに構築しているかについて話した。これらのパイプラインを使用する目的は、アプリケーションを本番環境に移行することである。本質的に、配信プロセスは、ソースコード管理からアプリケーションコードを取得する。次に、パイプラインはアプリケーションをコンパイルし、そのアーティファクトをバンドルとしてリポジトリに保存する。最後に、パイプラインは、dev、test、prodなどのすべての異なる環境にバンドルを出荷する。Liles氏は、デプロイパイプラインが複雑に見えても、アプリケーションスタックはこれ以上複雑にならないはずだと述べた。

Liles氏によると、エンジニアは、単にJenkinsやSpinnakerを使用するような実装ではなく、パターンとしての構成可能なブロックとしてデプロイパイプラインを再考することができる。たとえば、パイプラインには、アプリケーションの構築、テストの実行、アーティファクトの作成のための統合ブロックを含めることができる。このブロックはJenkinsを使用している可能性があるが、将来的にはCircle CIなどの別のツールを使用する可能性がある。パイプラインの別のブロックは、アプリケーションをデプロイし、承認を求め、データの移行を実行するデプロイプロセスブロックにもなり得る。統合ブロックとデリバリブロックの両方に同じ基本コンポーネントを持つ。それは、Webhookトリガー、ワークフロー、通知、承認である。また、統合ブロックおよびデリバリブロックは、より大きな構成可能ブロックであるデプロイメントパイプラインの一部である。

#continuous integration #設計/アーキテクチャ #デベロップメント #devops #ニュース

Bryan Liles氏がCI/CDパイプラインを構成可能なブロックとして再考
1.35 GEEK