TOPCloud > クラウドベースのCI/CDプラットフォーム、選択のポイントは...

Cloud

クラウドベースのCI/CDプラットフォーム、選択のポイントは(中)

2021/06/30

Martin Heller InfoWorld

 ソフトウエア開発のスピードを上げ、正常に動作するビルドを本番環境にこまめに反映するには、テストとデリバリーのプロセスの一部または全部を自動化する必要がある。できれば、CI/CD(継続的インテグレーション/継続的デリバリー)パイプラインを導入し、リリース前にエラーを発見するためのテストスイートや、パイプラインの手順を実装するスクリプトを取り入れるのが望ましい。

前回から続く)

CI/CDツールがサポートしているプログラミング言語とツール

Credit: doguhakan / robertiez / Getty Images
Credit: doguhakan / robertiez / Getty Images

 個別のプログラミング言語や、そのカテゴリ(JVM言語、LLVMコンパイル型言語、.NET言語など)に応じて、ビルドやテストに使うツールはある程度決まっていることが多い。目的のプロジェクトで使う言語すべてに対応したCI/CDツールを選ぶ必要がある。そうでない場合、そのツール向けのプラグインを開発する必要が生じるかもしれない。

 分散化、モジュール化、マイクロサービス化を取り入れたソフトウエアのデプロイにとって、Dockerイメージの重要性はますます高まっている。ソースコードやバイナリーからのDockerイメージの作成や、特定の環境へのデプロイなど、CI/CDツールがDockerイメージの処理に標準で対応していれば、大いに役立つ。対応していない場合は、やはりプラグインやスクリプトを作成し、必要な機能を実装しなくてはならないかもしれない。また、Kubernetesなどのコンテナオーケストレーションシステムを使用している場合も同様で、必要な機能をCI/CDツール自体がサポートしているのが望ましい。

CI/CDやツールに対する理解

 CIとCDの基本的な考え方をすぐに理解できたとしても、細かい部分まで直ちに精通できるわけではない。CI/CDツールのサポートやドキュメントの充実度は、ツールによって千差万別だ。Jenkinsのように古くからあるツールであれば、書籍もたくさん出ているが、他のツールの場合、ツール選びの調査の一環として、ドキュメントやサポートフォーラム、および有償サポートの選択肢を探っておく必要がある。

 CIとCDの背景を理解するには、米Addison-Wesley出版の書籍「Continuous Integration」(Paul M. Duvall、Steve Matyas、Andrew Glover著)と「Continuous Delivery」(Jez Humble、David Farley著)をそれぞれお勧めする。いずれも、出版当時Jolt Awardsを受賞した書籍だ。

↑ページ先頭へ