CI/CD とは?

in #cicd3 years ago

CI/CDという用語をご存知でしょうか。用語自体を聞いたことがあるという方も、説明するのは中々難しいと思います。今回はエンジニアとしての実務経験のない方でも、イメージのしやすいようにCI/CDについてご説明します。

目次:

  1. CI/CDとは
  2. ソフトウェア開発の背景
  3. CIとは?
  4. CDとは?

CI/CDとは?

CI/CD とは?ソフトウェア開発になぜ必要か、分かりやすく解説します
CI/CD とは?ソフトウェア開発になぜ必要か、分かりやすく解説します。

CI/CDはContinuous Integration、通称CIと、Continuous Delivery、通称CDを合わせたもので、日本語では継続的インテグレーション/継続的デリバリーといいます。

どちらもソフトウェア開発などの業務をより正確に、効率よく行うための手法の一つです。

ソフトウェア開発の背景

このようなツールが重要になった背景として、ソフトウェア開発の規模拡大があります。
以前は手作業で可能だったことも、業務が複雑化したことで、開発者の手作業だけでは対応しきれなくなりました。

このような背景から、ソフトウェア開発における作業→テスト→公開の流れを「自動化」することが課題となっていました。

CI/CDのようなツールが広く利用されるようになったのは、そんな自動化の問題を解消するためです。

CI/CDを超ざっくり解説!【何となく理解するIT】- クライン【KLEIN】

CIとは?

次に、CIとCDそれぞれの意味についてご説明します。

まず初めにCIとは、開発者による新しいコード変更が定期的にビルド・テストされ、自動化される手法です。

これにより、ソフトウェアのバグを早期に発見し、その発見にすぐ対応することができます。

CDとは?

CDとは、継続的インテグレーションを拡張した手法です。ビルドやテストだけでなく、本番環境のリリースプロセス全体を自動化することです。

CIとCDをセットで使用することによって、作業からテスト、そして公開までの流れを自動化によって効率よく迅速且つ継続的に実施することができます。

このツールを利用すれば、よりユーザーのニーズに応えやすくなり、バグの改善にも早く対応することができます。

CI/CDを実施するには

最後に、CI/CDの実施方法についてご紹介します。

CI/CDの実施にはさまざまな方法がありますが、今回は代表的な利用方法をお伝えします。

「Jenkins(ジェンキンス)」を利用
Jenkinsとは?
Jenkinsとは?

「Jenkins(ジェンキンス)」はCI/CD実現のための代表的なツールの一つです。

日本でも多くのユーザーに利用される人気なツールですが、人気の理由の一つに汎用性の高さが挙げられます。

こちらはオープンソースとして、Windows、macOS、Linuxなど多くの環境下でダウンロード可能です。

また、国内での利用者が多いことから、日本でもJenkinsに関する勉強会が開かれていたり、日本語での最新情報が素早く入手できたりすることも大きなメリットです。

Full article: CI/CD とは?ソフトウェア開発になぜ必要か、分かりやすく解説します。
https://onetech.jp/blog/what-is-ci-cd-in-software-development-12724