Skip to content
nishi_74322014 edited this page Aug 3, 2026 · 1 revision

CI

概要

  • 継続的なビルドとテストの自動実行を行うこと。
  • 「継続的インテグレーション」、「常時結合」とも呼ばれる。
  • テスト技法ではなく、品質改善や納期短縮のため継続的に実行するプラクティス。
  • 特に日本においては、CIサービスより、オンプレ構築可能なCIツールのほうが導入件数が多い印象。

CIツール

デイリービルド&デイリーテストで使用する。

OSS

  • Jenkins(MS_Jenkins.md
  • GitLab(MS_GitLab.md

プロダクト

TFS(Team Foundation Server)

(SVN vs Git vs TFS: MS_SVNvsGitvsTFS.md

  • Team Foundation Server - Wikipedia

    VSSの後継製品に当たり、
    VSSが持つソースコード管理機能に加え、データの保存、プロジェクト管理
    などのソフトウェア開発プロジェクトを円滑に進めるための機能を備えている。

  • チーム・ビルドによる開発の安定化 - @IT

    チーム・ビルドとは、TFSのカスタム・タスクを含むMSBuildのスクリプト一式であるといえる。

  • 自動ビルド、配置、およびテストのワークフローの設定

    ビルド プロセスを使用してアプリケーションのビルド、配置、テストをスケジュールし、実行できる。
    #要件:Ultimate, Premium, Test Professional

補足(最新化): TFS は 2019年に Azure DevOps Server へ改称 (クラウド版の VSTS は Azure DevOps Services)。 CI 機能は Azure Pipelines が担う。

CIサービス

  • CIツールのサービス版
  • Travis CI, Circle CI, AppVeyor などが有名。

AppVeyor

Windowsをサポートした貴重な CI 環境

Travis CI

かなり有名で言うまでもない。

Circle CI

Travis CI に次いで有名な CI サービス。

Visual Studio App Center

スマホ用らしい。(MS_VisualStudioAppCenter.md

補足(最新化): 本ページ執筆後、CI サービスの勢力図は大きく変わっている。

  • GitHub Actions(2019年GA)が事実上のデファクトになり、パブリック リポジトリでは無償で利用できる。
  • Travis CI は 2020年に OSS 向け無償枠を実質廃止し、利用が大きく減った。
  • Visual Studio App Center は 2025年3月にサービス終了。
  • Windows ビルドも GitHub Actions / Azure Pipelines の Windows ランナーで賄えるため、 AppVeyor を選ぶ動機は薄れている。

比較

参考

AppVeyor

Travis CI

CircleCI

考察

起源

サービス界隈

  • スクリプト言語で開発されたサービスを、
  • デイリーでエンハンスしていく。

と言った環境の中で発生した。

SI界隈

コレがSI界隈にも輸出されたがミスマッチも多かった。

  • デイリーでエンハンス → 開発して納品
  • スクリプト言語 → 強い静的型付け言語

フィッティング

SI界隈へのフィッティング案

スモールスタート

以下からスモールスタート

  • ビルド(MS_Build.md)・システムのエンハンス
  • テストは
    • 疎通(レグレッション)から始めて、
    • 必要に応じてテストコードを追加する。

ハードル

  • ビルド・システム
    • ローカル環境のビルド・システム
    • サーバ環境のビルド・システム
  • テストは
    • DB初期化
    • UIテスト自動化
      • データ投入の自動化
      • 複数画面に渡ったシナリオ・レベルの自動化

注意点

  • CIサービスや Open PaaS ではなくローカルやオンプレも考慮。

    • Windows上でJava書いているエンジニアもまだ多い。
    • Windows環境は、SI担当が弄り易い。
    • 今後のLinuxシフトの中で WSL(Windows Subsystem for Linux: MS_WSL.md)が使えそう。
    • WSL から、(オンプレ)コンテナへ繋げるとよさそう。

    ※ 参考:WSL上での.NET Core開発(MS_DotNetCoreOnWSL.md

  • 飛ぶべきハードルは、先ずローカル。
    ローカルが出来上がってからがCI。
    https://twitter.com/openhishopjpo/status/1196189967233347584

参考

CIツールCIサービス の参考

Continuous


Tags: テスト, デバッグ, .NET開発, ツール類, CI

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally