-
Notifications
You must be signed in to change notification settings - Fork 0
MS_CI
- 継続的なビルドとテストの自動実行を行うこと。
- 「継続的インテグレーション」、「常時結合」とも呼ばれる。
- テスト技法ではなく、品質改善や納期短縮のため継続的に実行するプラクティス。
- 特に日本においては、CIサービスより、オンプレ構築可能なCIツールのほうが導入件数が多い印象。
デイリービルド&デイリーテストで使用する。
- Jenkins(
MS_Jenkins.md) - GitLab(
MS_GitLab.md)
(SVN vs Git vs TFS: MS_SVNvsGitvsTFS.md)
-
Team Foundation Server - Wikipedia
VSSの後継製品に当たり、
VSSが持つソースコード管理機能に加え、データの保存、プロジェクト管理
などのソフトウェア開発プロジェクトを円滑に進めるための機能を備えている。 -
チーム・ビルドとは、TFSのカスタム・タスクを含むMSBuildのスクリプト一式であるといえる。
-
自動ビルド、配置、およびテストのワークフローの設定
ビルド プロセスを使用してアプリケーションのビルド、配置、テストをスケジュールし、実行できる。
#要件:Ultimate, Premium, Test Professional
補足(最新化): TFS は 2019年に Azure DevOps Server へ改称 (クラウド版の VSTS は Azure DevOps Services)。 CI 機能は Azure Pipelines が担う。
- CIツールのサービス版
- Travis CI, Circle CI, AppVeyor などが有名。
Windowsをサポートした貴重な CI 環境
かなり有名で言うまでもない。
Travis CI に次いで有名な CI サービス。
スマホ用らしい。(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 を選ぶ動機は薄れている。
- 無料で使える CI サービス 8 個まとめ - 永遠に未完成
- ブログズミ: 無料で使える CI サービス比較
- Travis CI vs CircleCI vs Appveyor 2018 Comparison | StackShare
- スクリプト言語で開発されたサービスを、
- デイリーでエンハンスしていく。
と言った環境の中で発生した。
コレが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
-
継続的インテグレーション - Wikipedia
- 主にプログラマーのアプリケーション作成時の品質改善や納期の短縮のための習慣。
- エクストリーム・プログラミング (XP) のプラクティスの一つで、
狭義にはビルドやテスト、インスペクションなどを継続的に実行していくこと。
- 継続的インテグレーションアンチパターン | Ryuzee.com
Tags: テスト, デバッグ, .NET開発, ツール類, CI
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。