---
title: 組込み開発におけるCI導入を阻む3つの課題とその解決方法とは？システムテストの約90％をCI化した実例を元に解説
description: オープンソースのCIツールであるJenkins、バージョン管理ツールであるSVNとイーソル製IDEであるeDEVS®を組み合わせてCIを運用し、月400 時間以上のテスト工数の削減、20日必要だったテストを1日で完了させるなど自社製品の開発工数を大幅に削減しました。製品開発チームの取り組みを紹介します。
image: https://blog.esol.co.jp/hubfs/shutterstock_1507277669.jpg
---

# [![eSOL](https://blog.esol.co.jp/hubfs/eSOL_LP_Mar2025/asset/img/common/logo_no-50th-9.png)](https://www.esol.co.jp/)

- [eSOL ウェブサイト](https://www.esol.co.jp/)
- [Blog記事一覧](https://blog.esol.co.jp/)

- [お問い合わせ](https://www.esol.co.jp/inquiry/)

## eSOL Marketing Official Blog

# 組込み開発におけるCI導入を阻む3つの課題とその解決方法とは？システムテストの約90％をCI化した実例を元に解説

 2023/04/20 11:09:15

ソフトウェア開発は刻々と変化する社会の情勢や要請に柔軟かつ迅速に対応しながら、開発コスト削減、開発効率化、品質の確保が求められています。

このような状況に対応するため、Cloud系ソフトウェア開発ではテストを自動化する継続的インテグレーション、いわゆるCI（Continuous Integration）の導入がスタンダードです。

一方、組込みソフトウェア開発でのCI 導入は色々な課題があります。本記事ではこの課題に対するイーソル製品開発チームの取り組みを少しご紹介します。

オープンソースのCIツールであるJenkins、バージョン管理ツールであるSVN(Subversion)と[イーソル製IDE (統合開発環境) であるeDEVS®](https://www.esol.co.jp/embedded/product/ebinder_edevs_edevs-overview.html)を組み合わせてCIを運用し、月400 時間以上のテスト工数の削減、20日必要だったテストを1日で完了させるなど自社製品の開発工数を大幅に削減しました。

なぜそのようなことが可能なのか？製品開発チームの取り組みは次の通りです。 

# CI導入を阻む3つの課題

イーソルの製品開発チームは、主に3つの課題に直面し、それぞれに解決策が必要でした。

① 開発ツールの自動操作

1つ目の課題は組込みソフトウェア開発向けIDEではCLI操作の対応が不十分な場合が多く 、Jenkins 等のCI ツールを使用した自動操作が出来ないことです。

この課題については、イーソルのプラットフォーム向け開発ツールであるeDEVSはCIツールと簡単かつ迅速に連携できるよう、CLIをサポートしました。 

eDEVSは GDB(GNU Project Debugger)に対応することで、CLIでのデバッグを実現しています。GDB対応したeDEVSとJenkins/SVNを組み合わせることで完全なCI環境を実現しています。

![CICD_Blog_01](https://blog.esol.co.jp/hs-fs/hubfs/CICD_Blog_01.png?width=584&height=273&name=CICD_Blog_01.png)

 

② ターゲットボードの自動操作

2つ目の課題は開発者がテストイメージの更新、ターゲットボードのリセットなどターゲットボードを手動で操作する必要があることです。これらの操作はeDEVSの特別な機能で自動実行が可能です。

テストイメージの更新にはeDEVSのHFS(ホストファイルシステム)機能を使用します。HFSはホストPCの特定のフォルダをターゲットボード上のメディア(SDカードなど)と同じように扱うことができます。言い換えるとターゲットボードがホストPCの特定のフォルダに自由にアクセスできるということです。ビルドしたテストイメージをHFSとして指定したホストPCのフォルダに格納するようCIツールに指示することで、ターゲットボードを手動で操作することなくテストイメージの更新ができます。

ターゲットボードのリセットは主にデバッグプローブの連携機能を使用します。テスト実行前にeDEVS からデバッグプローブを介してターゲットボードを初期化するように設定することで、ここでもターゲットボードの手動操作が不要になります。  
![img_blog_CICD_20230421](https://blog.esol.co.jp/hs-fs/hubfs/img_blog_CICD_20230421.jpg?width=584&height=258&name=img_blog_CICD_20230421.jpg)

③ 開発機材の不足

3つ目の課題は「開発機材の不足」です。

CIツールでは複数のテストを同時に実行することが可能ですが、テスト実行数分の開発機材が必要です。なかでも世界的半導体不足の影響もあり、ターゲットボード不足はボトルネックになっています。このボトルネック解消のためイーソルではオープンソースのQEMUシミュレータやArm FVP（Fixed Virtual Platform）といったターゲットハードウェアシミュレータを使用しています。特にArm FVPは、CPU、ペリフェラル、キャッシュを含むすべてのメモリからなるArmシステムの完全かつ非常にサイクル精度の高いシミュレーションを可能にします。

Arm FVPでは、仮想Ethernet IPも利用可能です。前述のeDEVSのHFS機能と組み合わせることで、メディアアクセス、ネットワークアクセスとプラットフォーム開発に必要な基本的なハードウェア機能は仮想的に実現可能です。

このような仮想環境を使用することで、開発機材の数に関わらず複数のテストを実現しています。

 

# まとめ

この3つの課題を克服することで、イーソルの製品開発チームは、全システムテストのおよそ90％をCI化しました。その結果、テスト実施工数の削減、毎日のシステムテスト実施による障害早期検出化と手戻り工数を削減しました。

しかし、CIパイプラインによる自動化・開発効率化は、継続的な改善が必要な課題であることに変わりはありません。今後はスループット計測やVLANネットワークを構築した上での通信テスト などさらなるシステムテストのCI化、例外発生個所をソースファイル上とマッピングし通知するなどの 不具合を見つけた際のデバッグへのスムースな移行支援機能の強化などで、さらなる自動化/開発の効率化を進めていきます。

イーソルでは、この能力をエンジニアリングサービスとしてお客様に提供することで、お客様のCIパイプラインにもイーソルの製品をお使いいただき、メリットを享受していただいています。CI導入やeDEVSの詳細については、イーソルまでお問い合わせください。

- [![eDEVSの詳細はこちら](https://no-cache.hubspot.com/cta/default/4324060/e838458c-a3dc-46c4-af7d-3ac1618a4a26.png)](https://cta-redirect.hubspot.com/cta/redirect/4324060/e838458c-a3dc-46c4-af7d-3ac1618a4a26)
- [![CI導入ソリューションの詳細はこちら](https://no-cache.hubspot.com/cta/default/4324060/81beb791-a484-4055-b9fe-499a02ef37ae.png)](https://cta-redirect.hubspot.com/cta/redirect/4324060/81beb791-a484-4055-b9fe-499a02ef37ae)

マーケティングコミュニケーション部　S.A

**記事カテゴリ**:  [組込みソフトウェアソリューション](https://blog.esol.co.jp/tag/組込みソフトウェアソリューション), [製品・ソリューション紹介](https://blog.esol.co.jp/tag/製品-ソリューション紹介)

 

[![Share on facebook](https://7528309.fs1.hubspotusercontent-na1.net/hub/7528309/hubfs/raw_assets/public/mV0_d-web-default-modules_hubspot/img/facebook-color.png?width=24&name=facebook-color.png)](http://www.facebook.com/share.php?u=https%3A%2F%2Fblog.esol.co.jp%2Fembedded%2Fcontinuous-integration%3Futm_medium%3Dsocial%26utm_source%3Dfacebook) [![Share on linkedin](https://7528302.fs1.hubspotusercontent-na1.net/hub/7528302/hubfs/raw_assets/public/mV0_d-web-default-modules_hubspot/img/linkedin-color.png?width=24&name=linkedin-color.png)](http://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fblog.esol.co.jp%2Fembedded%2Fcontinuous-integration%3Futm_medium%3Dsocial%26utm_source%3Dlinkedin) [![Share on twitter](https://7528304.fs1.hubspotusercontent-na1.net/hub/7528304/hubfs/raw_assets/public/mV0_d-web-default-modules_hubspot/img/twitter-color.png?width=24&name=twitter-color.png)](https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fblog.esol.co.jp%2Fembedded%2Fcontinuous-integration%3Futm_medium%3Dsocial%26utm_source%3Dtwitter&url=https%3A%2F%2Fblog.esol.co.jp%2Fembedded%2Fcontinuous-integration%3Futm_medium%3Dsocial%26utm_source%3Dtwitter&source=tweetbutton&text=) [![Share on email](https://7528311.fs1.hubspotusercontent-na1.net/hub/7528311/hubfs/raw_assets/public/mV0_d-web-default-modules_hubspot/img/email-color.png?width=24&name=email-color.png)](mailto:?subject=https%3A%2F%2Fblog.esol.co.jp%2Fembedded%2Fcontinuous-integration%3Futm_medium%3Dsocial%26utm_source%3Demailをチェック%20&body=https%3A%2F%2Fblog.esol.co.jp%2Fembedded%2Fcontinuous-integration%3Futm_medium%3Dsocial%26utm_source%3Demailをチェック)

[eSOL Marketing Official Blog 記事一覧](https://blog.esol.co.jp/)

**🔰リアルタイムOS 初心者向け特集**

リアルタイムOS（RTOS）の基礎を学ぶための動画・資料・ブログをまとめました  
[一覧ページを見る](https://lp.esol.co.jp/contents/basic_rtos)

### 最近の記事

[![ブログの更新通知を受け取る](https://no-cache.hubspot.com/cta/default/4324060/ee7ec3fc-c963-4047-9e9d-a3050aeba9f5.png)](https://cta-redirect.hubspot.com/cta/redirect/4324060/ee7ec3fc-c963-4047-9e9d-a3050aeba9f5)

### 記事カテゴリ別

- [組込みソフトウェアソリューション (229)](https://blog.esol.co.jp/tag/組込みソフトウェアソリューション)
- [イベント・セミナー情報 (140)](https://blog.esol.co.jp/tag/イベント-セミナー情報)
- [車載ソフトウェア (105)](https://blog.esol.co.jp/tag/車載ソフトウェア)
- [AUTOSAR (76)](https://blog.esol.co.jp/tag/autosar)
- [製品・ソリューション紹介 (68)](https://blog.esol.co.jp/tag/製品-ソリューション紹介)
- [ソフトウェア開発支援 (64)](https://blog.esol.co.jp/tag/ソフトウェア開発支援)
- [動画・資料公開 (55)](https://blog.esol.co.jp/tag/動画-資料公開)
- [eMCOS (53)](https://blog.esol.co.jp/tag/emcos)
- [最新ニュース (47)](https://blog.esol.co.jp/tag/最新ニュース)
- [ROS/ROS 2 (32)](https://blog.esol.co.jp/tag/ros-ros-2)
- [機能安全 (31)](https://blog.esol.co.jp/tag/機能安全)
- [センシングソリューション (28)](https://blog.esol.co.jp/tag/センシングソリューション)
- [メディア掲載情報 (22)](https://blog.esol.co.jp/tag/メディア掲載情報)
- [サイバーセキュリティ (20)](https://blog.esol.co.jp/tag/サイバーセキュリティ)
- [マルチコア/メニーコア (20)](https://blog.esol.co.jp/tag/マルチコア-メニーコア)
- [産業IoT (20)](https://blog.esol.co.jp/tag/産業iot)
- [仮想化ソリューション (18)](https://blog.esol.co.jp/tag/仮想化ソリューション)
- [ソフトウェア検証 (16)](https://blog.esol.co.jp/tag/ソフトウェア検証)
- [eT-Kernel (9)](https://blog.esol.co.jp/tag/et-kernel)
- [eBinder (8)](https://blog.esol.co.jp/tag/ebinder)
- [eSOL Emusen (6)](https://blog.esol.co.jp/tag/esol-emusen)
- [耐環境ハードウェア (5)](https://blog.esol.co.jp/tag/耐環境ハードウェア)
- [防災・減災 (5)](https://blog.esol.co.jp/tag/防災-減災)
- [eSOL Emusen easy (4)](https://blog.esol.co.jp/tag/esol-emusen-easy)
- [eXRP (4)](https://blog.esol.co.jp/tag/exrp)
- [AUTOSAR (9) (2)](https://blog.esol.co.jp/tag/autosar-9)
- [Aubist Hypervisor for MCU (2)](https://blog.esol.co.jp/tag/aubist-hypervisor-for-mcu)
- [RISC-V (2)](https://blog.esol.co.jp/tag/risc-v)
- [eMCOS (45) (2)](https://blog.esol.co.jp/tag/emcos-45)
- [eSOL AGRInk (2)](https://blog.esol.co.jp/tag/esol-agrink)
- [エンジニアリングサービス (2)](https://blog.esol.co.jp/tag/エンジニアリングサービス)
- [AI (1)](https://blog.esol.co.jp/tag/ai)
- [画像処理 (1)](https://blog.esol.co.jp/tag/画像処理)

全て表示

### アーカイブ

- [8月 2026 (2)](https://blog.esol.co.jp/archive/2026/08)
- [7月 2026 (2)](https://blog.esol.co.jp/archive/2026/07)
- [3月 2026 (1)](https://blog.esol.co.jp/archive/2026/03)
- [1月 2026 (1)](https://blog.esol.co.jp/archive/2026/01)
- [12月 2025 (2)](https://blog.esol.co.jp/archive/2025/12)
- [9月 2025 (1)](https://blog.esol.co.jp/archive/2025/09)
- [7月 2025 (1)](https://blog.esol.co.jp/archive/2025/07)
- [6月 2025 (1)](https://blog.esol.co.jp/archive/2025/06)
- [5月 2025 (3)](https://blog.esol.co.jp/archive/2025/05)
- [4月 2025 (1)](https://blog.esol.co.jp/archive/2025/04)
- [3月 2025 (2)](https://blog.esol.co.jp/archive/2025/03)
- [2月 2025 (2)](https://blog.esol.co.jp/archive/2025/02)
- [1月 2025 (5)](https://blog.esol.co.jp/archive/2025/01)
- [12月 2024 (1)](https://blog.esol.co.jp/archive/2024/12)
- [11月 2024 (5)](https://blog.esol.co.jp/archive/2024/11)
- [10月 2024 (1)](https://blog.esol.co.jp/archive/2024/10)
- [9月 2024 (1)](https://blog.esol.co.jp/archive/2024/09)
- [8月 2024 (3)](https://blog.esol.co.jp/archive/2024/08)
- [7月 2024 (4)](https://blog.esol.co.jp/archive/2024/07)
- [6月 2024 (4)](https://blog.esol.co.jp/archive/2024/06)
- [5月 2024 (4)](https://blog.esol.co.jp/archive/2024/05)
- [4月 2024 (4)](https://blog.esol.co.jp/archive/2024/04)
- [3月 2024 (5)](https://blog.esol.co.jp/archive/2024/03)
- [2月 2024 (6)](https://blog.esol.co.jp/archive/2024/02)
- [1月 2024 (3)](https://blog.esol.co.jp/archive/2024/01)
- [12月 2023 (4)](https://blog.esol.co.jp/archive/2023/12)
- [11月 2023 (6)](https://blog.esol.co.jp/archive/2023/11)
- [10月 2023 (5)](https://blog.esol.co.jp/archive/2023/10)
- [9月 2023 (6)](https://blog.esol.co.jp/archive/2023/09)
- [8月 2023 (4)](https://blog.esol.co.jp/archive/2023/08)
- [7月 2023 (4)](https://blog.esol.co.jp/archive/2023/07)
- [6月 2023 (5)](https://blog.esol.co.jp/archive/2023/06)
- [5月 2023 (3)](https://blog.esol.co.jp/archive/2023/05)
- [4月 2023 (4)](https://blog.esol.co.jp/archive/2023/04)
- [3月 2023 (5)](https://blog.esol.co.jp/archive/2023/03)
- [2月 2023 (3)](https://blog.esol.co.jp/archive/2023/02)
- [1月 2023 (4)](https://blog.esol.co.jp/archive/2023/01)
- [12月 2022 (5)](https://blog.esol.co.jp/archive/2022/12)
- [11月 2022 (5)](https://blog.esol.co.jp/archive/2022/11)
- [10月 2022 (4)](https://blog.esol.co.jp/archive/2022/10)
- [9月 2022 (4)](https://blog.esol.co.jp/archive/2022/09)
- [8月 2022 (3)](https://blog.esol.co.jp/archive/2022/08)
- [7月 2022 (6)](https://blog.esol.co.jp/archive/2022/07)
- [6月 2022 (6)](https://blog.esol.co.jp/archive/2022/06)
- [5月 2022 (3)](https://blog.esol.co.jp/archive/2022/05)
- [4月 2022 (4)](https://blog.esol.co.jp/archive/2022/04)
- [3月 2022 (6)](https://blog.esol.co.jp/archive/2022/03)
- [2月 2022 (4)](https://blog.esol.co.jp/archive/2022/02)
- [1月 2022 (5)](https://blog.esol.co.jp/archive/2022/01)
- [12月 2021 (4)](https://blog.esol.co.jp/archive/2021/12)
- [11月 2021 (5)](https://blog.esol.co.jp/archive/2021/11)
- [10月 2021 (4)](https://blog.esol.co.jp/archive/2021/10)
- [9月 2021 (5)](https://blog.esol.co.jp/archive/2021/09)
- [8月 2021 (4)](https://blog.esol.co.jp/archive/2021/08)
- [7月 2021 (5)](https://blog.esol.co.jp/archive/2021/07)
- [6月 2021 (5)](https://blog.esol.co.jp/archive/2021/06)
- [5月 2021 (5)](https://blog.esol.co.jp/archive/2021/05)
- [4月 2021 (4)](https://blog.esol.co.jp/archive/2021/04)
- [3月 2021 (6)](https://blog.esol.co.jp/archive/2021/03)
- [2月 2021 (4)](https://blog.esol.co.jp/archive/2021/02)
- [1月 2021 (4)](https://blog.esol.co.jp/archive/2021/01)
- [12月 2020 (8)](https://blog.esol.co.jp/archive/2020/12)
- [11月 2020 (6)](https://blog.esol.co.jp/archive/2020/11)
- [10月 2020 (8)](https://blog.esol.co.jp/archive/2020/10)
- [9月 2020 (6)](https://blog.esol.co.jp/archive/2020/09)
- [8月 2020 (4)](https://blog.esol.co.jp/archive/2020/08)
- [7月 2020 (6)](https://blog.esol.co.jp/archive/2020/07)
- [6月 2020 (7)](https://blog.esol.co.jp/archive/2020/06)
- [5月 2020 (4)](https://blog.esol.co.jp/archive/2020/05)
- [4月 2020 (5)](https://blog.esol.co.jp/archive/2020/04)
- [3月 2020 (4)](https://blog.esol.co.jp/archive/2020/03)
- [2月 2020 (3)](https://blog.esol.co.jp/archive/2020/02)
- [1月 2020 (4)](https://blog.esol.co.jp/archive/2020/01)
- [12月 2019 (4)](https://blog.esol.co.jp/archive/2019/12)
- [11月 2019 (6)](https://blog.esol.co.jp/archive/2019/11)
- [10月 2019 (6)](https://blog.esol.co.jp/archive/2019/10)
- [9月 2019 (5)](https://blog.esol.co.jp/archive/2019/09)
- [8月 2019 (6)](https://blog.esol.co.jp/archive/2019/08)
- [7月 2019 (5)](https://blog.esol.co.jp/archive/2019/07)
- [6月 2019 (5)](https://blog.esol.co.jp/archive/2019/06)
- [5月 2019 (4)](https://blog.esol.co.jp/archive/2019/05)
- [4月 2019 (7)](https://blog.esol.co.jp/archive/2019/04)
- [3月 2019 (4)](https://blog.esol.co.jp/archive/2019/03)
- [2月 2019 (4)](https://blog.esol.co.jp/archive/2019/02)
- [1月 2019 (10)](https://blog.esol.co.jp/archive/2019/01)
- [12月 2018 (2)](https://blog.esol.co.jp/archive/2018/12)
- [11月 2018 (2)](https://blog.esol.co.jp/archive/2018/11)

全て表示

![eSOL](https://blog.esol.co.jp/hubfs/eSOL_LP_Mar2025/asset/img/common/logo.png)

- [会社概要](https://www.esol.co.jp/company/)
- [個人情報保護方針](https://www.esol.co.jp/policy/privacy.html)
- [免責事項と準拠法](https://www.esol.co.jp/policy/legal.html)
- [コピーライト](https://www.esol.co.jp/policy/copyright.html)
- [サイトマップ](https://www.esol.co.jp/sitemap.html)

- [![Facebook](https://blog.esol.co.jp/hubfs/eSOL_LP_Mar2025/asset/img/common/icon_fb.png)](https://www.facebook.com/eSOL.JAPAN)
- [![X](https://blog.esol.co.jp/hubfs/eSOL_LP_Mar2025/asset/img/common/icon_x.png)](https://twitter.com/eSOL_Japan)
- [![LinkedIn](https://blog.esol.co.jp/hubfs/eSOL_LP_Mar2025/asset/img/common/icon_in.png)](https://www.linkedin.com/company/esol/)
- [![YouTube](https://blog.esol.co.jp/hubfs/eSOL_LP_Mar2025/asset/img/common/icon_yt.png)](https://www.youtube.com/c/eSOL-Japan)

[ソーシャルメディアポリシー](https://blog.esol.co.jp/policy/snspolicy.html)

[お問い合わせ](https://www.esol.co.jp/inquiry/)

© eSOL 2002-2026. All rights reserved.

Creating the future with innovative technology. Creating the future with innovative technology.

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "eSOL Marketing",
    "url" : "https://blog.esol.co.jp/author/esol-marketing"
  },
  "dateModified" : "2023-04-28T06:10:15.241Z",
  "datePublished" : "2023-04-20T02:09:15.000Z",
  "headline" : "組込み開発におけるCI導入を阻む3つの課題とその解決方法とは？システムテストの約90％をCI化した実例を元に解説",
  "image" : [ "https://blog.esol.co.jp/hubfs/shutterstock_1507277669.jpg" ],
  "mainEntityOfPage" : {
    "@id" : "https://blog.esol.co.jp/embedded/continuous-integration",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://blog.esol.co.jp/hubfs/eSOL_Red-Orange.gif"
    },
    "name" : "イーソル株式会社"
  }
}
```