DUICUO

CI/CD パイプラインとは何かを簡単に分析します。

[[408950]]

継続的インテグレーション/継続的デプロイメント パイプラインをどのように定義するかは、組織の要件によって異なります。

継続的インテグレーション継続的インテグレーション/継続的なデプロイメント継続的なデプロイメントCI/CD パイプラインは、あらゆる DevOps イニシアチブの基盤です。CI/CD パイプラインは従来の開発サイロを打破し、開発チームと運用チームがソフトウェア開発ライフサイクル全体を通じて連携できるようにします。

さらに、DevOps および CI/CD パイプラインに切り替えると、組織はソフトウェアをより迅速かつ安全に提供できるようになります。

CI/CDパイプの分解

CI/CDパイプラインには様々な定義があるため、組織は他者の定義に従うのではなく、独自のCI/CDパイプラインやその他のDevOpsコンセプトを定義することを常に推奨しています。オープンソースのCI/CDツールは、組織の要件を満たすCI/CDパイプラインを自由に構築できる選択肢を提供します。

CI/CDパイプラインの形成には、タスクの異なるサブセットをパイプラインステージにグループ化することが含まれます。一般的なパイプラインステージには以下が含まれます。

  • ビルド: 開発者はアプリケーション コードをコンパイルします。
  • テスト: 品質保証 (QA) チームは、自動テスト ツールと戦略を使用してアプリケーション コードをテストします。
  • リリース: 開発チームはアプリケーション コードをコードベースに配信します。
  • デプロイメント: DevOps チームは、アプリケーション コードを段階的に本番環境にデプロイします。
  • セキュリティとコンプライアンス:QAチームは、プロジェクト要件に従ってビルドを検証します。このフェーズでは、組織はコンテナスキャンツールを導入します。これらのツールは…一般的な脆弱性と露出共通脆弱性と露出(CVE) コンテナ イメージの品質をチェックします。

これらはCI/CDパイプラインの標準的なステージですが、組織によっては、独自の要件に合わせてCI/CDパイプラインモデルをカスタマイズする場合もあります。例えば、ヘルスケア市場向けのアプリケーションを構築する組織では、厳格なコンプライアンス基準を設けており、テスト、検証、コンプライアンスのしきい値をツールチェーン全体に分散させている場合があります。

他の例としては、オープンソースソフトウェア(OSS)を用いた複雑なソフトウェアサプライチェーンに依存している組織が挙げられます。商用コンポーネントによって、開発チームメンバーがOSSパッケージを生成できる閾値が設定される場合があります。ソフトウェア部品表ソフトウェア部品表(SBOM)、または外部の商用ソフトウェア ベンダーは、契約上の成果物の一部として SBOM を提供する必要があります。

CI/CDパイプラインの障害

CI/CDパイプラインの導入は、チームのプロセスと文化に変化をもたらします。多くの開発者は特定のタスクやテストの自動化に意欲的ですが、人的要因がCI/CD導入の障害となることもあります。

ウォーターフォール型プロセスからCI/CDへの移行は、一部の組織において、根本的かつ暗黙的な権力構造を揺るがす可能性があります。CI/CDパイプラインによってソフトウェアデリバリーのスピードが向上するにつれ、従来の手動プロセスの「ゲ​​ートキーパー」は、この変化によって脅威にさらされる可能性があります。

統合の機会

文化、プロセス、ツールの面で DevOps の成熟度が高まるにつれて、CI/CD ツールチェーンを含むツールのオープンソース ルーツによって、エキサイティングな統合の機会が生まれます。

2020年、分析会社Forresterは次のように予測しました...即時学習ジャストインタイム学習これはCI/CDパイプラインに追加されます。よく考えてみると、これは理にかなっていることがお分かりいただけるでしょう。今日のリモートワーク時代において、これは特に新入社員のリモートオンボーディングにおいて、さらに意義深いものとなります。例えば、組織はドキュメントWikiと社内プロセスドキュメントをパイプラインに統合することができます。

より意欲的な組織では、Moodleなどの学習管理システム(LMS)をCI/CDパイプラインに統合できます。LMSを使用して、開発者がパイプラインに参加したり、ツールを更新したりする際に習得する必要がある新しいDevOpsツールチェーン機能に関する短い動画を公開できます。

一部の組織では、グループチャットやその他のコラボレーションツールをCI/CDパイプラインに直接統合しています。チャットプラットフォームはアラートを提供し、チーム間のコラボレーションとコミュニケーションをサポートします。Mattermost、Rocket.Chat、その他のエンタープライズチャットプラットフォームをCI/CDパイプラインに統合するには、パイプラインユーザーがアラートに圧倒されないように、事前の計画と分析が必要です。

もう一つの統合の可能性として、CI/CDパイプラインに分析機能と高度なレポート機能を組み込むことが挙げられます。これにより、パイプラインを流れるデータを有効活用できるようになります。

要約

CI/CDパイプラインはDevOpsの基盤です。オープンソースであるため、DevOpsのプロセス全体を通して運用上の変更に伴う新たなニーズにも対応できる柔軟性と適応性を備えています。

組織がエンドツーエンドのCI/CDソリューションを求める、統合DevOpsプラットフォームのトレンドに対し、オープンソースからの対応を期待しています。こうしたソリューションの要素は既に存在しています。GitLabとGitHubのプラットフォームは、オープンソースのルーツに遡ります。

最後に、成功しているCI/CDツールチェーンの背後には、教育とアウトリーチが不可欠です。ツールチェーンと関連プロセスを文書化することで、開発者のオンボーディングとDevOpsチームの継続的なトレーニングが向上します。