MS_Jenkins - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki
- 戻る(CI)
- Jenkins
- ビルド / CI/CD パイプライン
Hudson は Sun Microsystems の下でオープンソースとして開発されていたが、
2010 年の Oracle による Sun 買収によりコミュニティが離脱、商標問題へと発展した。
最終的にコミュニティは Jenkins という名称でのフォークを行った。
補足(位置付け): Jenkins は
オンプレミスで動く汎用の CI/CD サーバであり、
Java 製・プラグインで機能を拡張するという構造を持つ。
「何でもできる」反面、プラグインの管理コストが高いという性質もある。
Jenkins クラウド型(GitHub Actions / Azure Pipelines 等) 実行基盤 自前で構築・運用 マネージド(自前エージェントも可) 設定 GUI またはコード(Jenkinsfile) YAML(コードが前提) 拡張 プラグイン マーケットプレースのアクション/タスク 向くケース 閉域網、特殊なビルド環境、既存資産 一般的な OSS / クラウド開発 閉域網の SI 案件では現在も Jenkins が選ばれることが多い。
NUnit + FxCop + OpenCover + ReportGenerator
補足(このプラグイン構成の意味): 挙げられている 4 つは、
.NET プロジェクトの品質ゲートを CI で回すための最小セットである。
ツール 役割 NUnit 単体テストの実行 OpenCover カバレッジの計測 ReportGenerator カバレッジ結果を HTML レポート化 FxCop 静的解析(コードの正しさ) StyleCop(書式の統一)を加えると、
「動く・正しい・読める」の 3 点が揃う。最新化: .NET Core 以降は
dotnet testと
Coverlet(--collect:"XPlat Code Coverage")で
クロスプラットフォームにカバレッジを取得でき、
OpenCover を使う必要はほぼ無くなっている。
ReportGenerator は現在も現役で、Coverlet の出力を受け取れる。
-
Use Jenkins - Jenkins Wiki
https://www.jenkins.io/doc/book/using/ -
Jenkins - Wikipedia
https://ja.wikipedia.org/wiki/Jenkins -
Hudson - Wikipedia
https://ja.wikipedia.org/wiki/HudsonJava で実装され、Apache Tomcat や GlassFish などの
Servlet コンテナ上で動作する継続的インテグレーション ツール -
.NET 開発者のための Jenkins 入門 - @IT
http://www.atmarkit.co.jp/fdotnet/chushin/greatblogentry_09/greatblogentry_09_01.htmlMSBuild プラグインを使用できる(NAnt プラグインも存在する)。
補足(最新化:Servlet コンテナは不要): 現在の Jenkins は
単体で起動できる(java -jar jenkins.war、あるいは
Docker イメージjenkins/jenkins)。
外部の Servlet コンテナへ配置する運用は一般的ではない。また、設定は GUI ではなく
**Jenkinsfile(Pipeline as Code)**でリポジトリに置くのが現在の標準。
Multibranch Pipeline を使えば、ブランチごとに自動でジョブが作られる。
Tags: 移行, .NET開発, テスト, デバッグ, ドキュメンテーション, ツール類, CI