CI/CDとは わかりやすく 解説。目的 メリット 仕組み 関連ツール など まとめ

web開発などで、最近、話題にあがる シーアイシーディとは 何かを解説します。シーアイシーディ わかりやすく 解説 できればと思います。もちろん シーアイシーディ 目的 シーアイシーディ メリット シーアイシーディ 仕組み そしてシーアイシーディ 関連ツール など まとめいきます。

デジタルトランスフォーメーション(DX)が叫ばれるため、システム開発は非常に重要なポジションとなっています。特にDX化で求められることが、スピードで、アジャイル開発のポイントとなっています。アジャイル開発において、リリースは、日常的に行われるものですが、シーアイシーディが、ここで登場します。

シーアイシーディは、継続的に開発して、継続的にシステムをリリースすることで、ここが重要とされています。特に、自動的に、シーアイシーディを、システム化して、展開できることは、業務効率を圧倒的に下げられる可能性を持つからです!

  1. シーアイシーディとは
  2. シーアイシーディの目的は?
  3. シーアイシーディのツールって?

上記のような課題、疑問をお持ちの方向けの記事が、このシーアイシーディについての記事となっております。システムよりのお話です。

シーアイシーディの知見を高めたい、基礎知識を得たい方向けなので、webディレクター、webプロデューサー、SE、web担当、システム開発担当の方向けに、シーアイシーディとは、何かを掘り下げられればと思っています!!

シーアイシーディとは

シーアイシーディとは「Continuous Integration」と「Continuous Delivery」の略称で、CIの「継続的開発」、CDの「継続的配信」、すなわち、継続的な開発とリリースのことを指し示すことになります。

多くの勘違いが発生しますが、シーアイシーディは、開発手法のことを示します。

シーアイシーディは技術ではありません。

シーアイシーディは、テスト~自動での本番環境へのリリースができる状態を作っておく、そんな開発手法のことを示します。

シーアイシーディが導入されると

  • テストの自動化
  • エラーやバグの検知
  • 自動修正

によって、プログラム開発を効率的にしてくれます。

従来まで、3~5人くらいのユニットで開発していたシステムを、より少ない人数で継続的に開発して、リリースができるようになる、そんなイメージです。

 

シーアイシーディ 読み方

シーアイシーディ 読み方 についてですが、私の周りでは、

  1. シーアイシーディー
  2. シーアイシーディ

といった読み方を日本語でしています。

シーアイシーディ と 書くと、スラッシュを読む人もいますからね。

シーアイシーディとは わかりやすく

シーアイシーディとは わかりやすく 解説してほしい!という場合、

一言でいえば、継続的な、テストの自動化、本番環境へのリリースの自動化。ですが、これだとわかりにくいかもですね。

具体的に考えると、

webサイトの改善をお題にしましょう。

この場合

webサイトの本番環境に開発したプログラムを上げる必要があります。

シーアイシーディでは、

  1. 開発環境のプログラムソースのテスト自動化
  2. 開発環境に、webサイトのテストに合格したソースをアップ
  3. このソースを、自動的に本番環境へ上げる仕組みづくり

ができるようにします。

こうすることで、継続的に、テスト、リリースが自動ができるからです。

シンプルに考えると、シーアイシーディとは わかりやすく 踏み込むと、テストとリリースの段取りを、最初に設計し、構築するようなものになります。

シーアイシーディ 目的

シーアイシーディ 目的 ですが、これは、非常に明確です。

シーアイシーディ 目的 は

  1. 効率化
  2. 作業スピードの向上
  3. コストダウン

この3つです。

自動化するので、効率的になります。

自動化するので、作業が減って、作業スピードが上がります。

結果、時間が短くなるので、開発コストが下がります。

こういうイメージになります。

シーアイシーディ メリット

シーアイシーディ メリットは、目的とも絡む部分もありますが、

  1. 自動化で、リリース速度が上がる
  2. 自動化によって、テストの仕組化ができる
  3. 自動化で、テストの精度があがる
  4. 自動化によって、開発コストが下がる

といった部分になります。

シーアイシーディ メリットは、なかなか、自動化と連動するため、理解しにくいかもですが、基本的には、目的の部分と同じように考えておきましょう!

シーアイシーディ 仕組み

シーアイシーディ 仕組みについてですが、基本、アプリケーションが配信されるまでの間に、どんな仕組みを入れるかがポイントです。

要するに、プログラマが作るローカル環境のソース、DB と 本番環境との間に、何のツールを入れることで、そのパイプを構築するか、ですね。

オープンソースのツールやWebサービスを利用したりして、シーアイシーディ 仕組みを構築することが多いですね。

シーアイシーディ 仕組み として、クラウドツールを活用することも最近増えてきています。

シーアイシーディ 仕組み は、セキュリティにも関連するケースが増えてきているからですね。

シーアイシーディ 仕組み Docker での 開発方法

Dockerで、シーアイシーディ 仕組み を、どう作ればいいのか?という課題もありますので、せっかくなので、シーアイシーディ 仕組みをDockerでどう開発するのかをまとめます。

Dockerで、シーアイシーディ 仕組みを作る方法を解説している動画を見つけてきました!

 

京都大学大学院卒のエンジニアの方が作成しているYoutube動画です。

50分くらいから、CDについての話がヒアリングできますよ!

1時間20分くらいの動画ですが、1万回以上の再生回数となっている動画なので、参考になりますし、細かく、学べますよ!!

シーアイシーディ ツール

シーアイシーディ ツール といえば、オンプレミスか、クラウドか、が1つの焦点になります。

主なツールとなる

  1. Jenkins オンプレ
  2. CircleCI クラウド

について、考察します。

Jenkins とは

Jenkins 公式 ホームページ
https://www.jenkins.io/

Jenkinsとは、オープンソースのツールです。

Jenkinsは、CI(継続的インテグレーション)ツールとなります。

Jenkinsは、オンプレでの利用が多いですね。

Jenkinsは、自動化サーバなので、基本的には、自動で、開発後、リリースをしてくれる仕組みを持っています。

Jenkinsは、ジェンキンスと、日本語で読みます。

CircleCIとは

CircleCI 公式 ホームページ
https://circleci.com/ja/

CircleCIとは、Saas型のシーアイシーディツールと目されていて、クラウド型であることが特徴的なものになっています。

Linux、Windows、mac、Dockerのプログラムをすべて同じパイプラインで配信してくれる仕組みになっています。

クラウド上にあるコンテナ、VMを実行環境として活用します。

AWS、Slack、Atlassian などとの連携も可能です。

CircleCI は FedRAMP 認定 を 取得。高いセキュリティも人気の秘訣です。

まとめ シーアイシーディ システム開発 を 継続 できるよう 自動化。

アプリケーション開発、webシステム開発で、重要視される継続的な開発、継続的なリリース。これを実現するのが、シーアイシーディ。

シーアイシーディによって、本番リリースの手順が、より簡易になったり、テストが簡単になったり、テストがしやすくなります。

自動化運用によって、より効率的な業務運用ができるようになれば、みんなにハッピーなことですよね。

開発と運用。DevOpsの思考から、シーアイシーディ(継続的インテグレーション/継続的デリバリー)につながっていくのですが、どう、そこを設計するかも重要です。

自動化の考え方は、もちろん大切ですが、まずは、根本的な知識として、シーアイシーディを把握しておきましょう!

【使える】TikTok ハッシュタグ 検索ボリューム 調べ方 で 表示回数を増やす

システム開発 人気 記事

システム開発 CMS 決済システムなど 人気 システム 関連 記事 まとめました!参考にしてみてください。

Stripe 使い方 Stripe(ストライプ)とは?安い!導入が楽!なオンライン決済
https://saras-wati.net/web-make/system/stripe-use-howto/

【基礎知識】システム開発 フロー ウォーターフォール型開発とは メリットは?
https://saras-wati.net/web-make/system/about-system-dev-waterfall/

Drupalとは 無料 高機能 CMS ドルーパル メリット wordpress 比較 検証
https://saras-wati.net/web-make/about-drupal/

Google Chrome デベロッパー ツール 使い方 | 変更 保存 で 改善 速度を爆速に!
https://saras-wati.net/web-make/chrome-develop-tool-howto/

Amazon S3 使い方 最強 オンライン ストレージ メリット 料金 など AWS ガイド
https://saras-wati.net/web-make/system/amazon-s3-howto/

Google フォーム カスタマイズ Google Apps Script(GAS)で できること
https://saras-wati.net/web-make/system/google-apps-script-form-knowhow/

ノウハウ!決済代行会社 選び方 比較 方法 ネットビジネス のための 基礎 知識
https://saras-wati.net/web-make/system/pay-online-company-select-howto/

Wrikeとは 大手 タスク管理 プロジェクト管理ツール 料金 評判 などを解説
https://saras-wati.net/news/groupware/wrike-tool/

【SEO】Amazon CloudFront 設定 方法 AWS CDN で UX 改善!表示速度改善!!
https://saras-wati.net/knowhow/amazon-cloudfront-setting-howto/

【 palanRFPとは 】テンプレート を シンプルUI で サクサク RFP制作 できるツール
https://saras-wati.net/news/worksbace/about-palanrfp/

【無料】Redmine 使い方 解説 プロジェクト管理 おすすめ レッドマイン まとめ!
https://saras-wati.net/news/groupware/about-redmine/

【ベンダー選定に】RFI 情報提供依頼書 とは RFI書き方 サンプル まとめ
https://saras-wati.net/knowhow/howto-rfi/

【無料】ワードプレス 予約システム Amelia(アメリア)とは イベント予約 カレンダー対応
https://saras-wati.net/web-make/system/what-amelia-booking-system/

MVP開発とは ノーコード オフショア開発 などで 先行者利益 獲得型 開発
https://saras-wati.net/web-make/system/what-mvp-development/

【メール配信サービス】導入 簡単! sendgrid センドグリッド とは
https://saras-wati.net/web-make/about-headless-commerce/

業務システム ローコード 制作可能な Airtable エアテーブル
https://saras-wati.net/web-make/system/airtable/

就職・転職前に知りたい!2022年 web開発言語 トレンド まとめ
https://saras-wati.net/web-make/work-programming-trend2020/

テスト自動化ツール おすすめ は? AI で デバック スピード 改善 工数 削減
https://saras-wati.net/web-make/system/test-auto-tools-recommend/

typescript 将来性 は? TypeScriptとは 特徴 JavaScript 違い まとめてみた
https://saras-wati.net/web-make/system/typescript-future-worth/

【無料】SQL 操作 なら DBeaverとは ノンプログラマー でも DB操作可能!
https://saras-wati.net/web-make/system/about-sql-dbeaver/

【無料】スクエア 予約システム クレジットカード決済付き 予約サイト どう?
https://saras-wati.net/web-make/system/square-booking-system/

CDNサービス一覧 特徴 比較 簡単にまとめてみた。SEO ユーザビリティ改善に
https://saras-wati.net/web-make/system/cdn-service-list/

シングルページアプリケーション(SPA)とは 有名サイト 事例 作り方 は?
https://saras-wati.net/web-make/system/about-single-page-application/