O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Jenkins使ってみた
~Windows編~
@tsubakimoto_s
自己紹介
• 松村 優大 (Yuta Matsumura)
• 医療系システムの開発・導入をしています。主に C#。
• 切磋琢磨できる人たちと仲良くなりたい。
• MLB大好きです。Vagrantも好き。
• Twitter : @tsuba...
私と Jenkins
• 私はほとんど Jenkins のことを知りません。
• 社内の C# 開発プロジェクトに導入するために
Jenkins を勉強しています。
• この勉強会の内容も丸パクリ参考にします。
• チーム開発に役立つプラグイン...
自動化したいこと
• ソリューションのビルド。
• リポジトリに変更があった際に、ソリューション全体が正しくビルド
できるかどうかの確認をします。
• プログラムの単体テスト。
• リポジトリに変更があった際に、単体テストを実施し、デグレが発生...
自動化したいこと
• ソリューションのビルド。
• リポジトリに変更があった際に、ソリューション全体が正しくビルド
できるかどうかの確認をします。
• プログラムの単体テスト。
• リポジトリに変更があった際に、単体テストを実施し、デグレが発生...
ビルドを手動で実行する
MSBuild プラグイン
• .NET プロジェクトの自動ビルドを行い、ビルド結果や
エラー情報が保存されます。
• MSBuild.exe を使います。
• https://wiki.jenkins-
ci.org/display/JENK...
MSBuild.exe って?
• ビルドエンジンです。
• .NET Framework のインストールに付随します。
• サーバに Visual Studio をインストールしなくてもビル
ドができます。
MSBuild プラグイン
MSBuild.exe
MSBuild プラグイン
自動化したいこと
• ソリューションのビルド。
• リポジトリに変更があった際に、ソリューション全体が正しくビルド
できるかどうかの確認をします。
• プログラムの単体テスト。
• リポジトリに変更があった際に、単体テストを実施し、デグレが発生...
単体テストを手動で実行する
MSTestRunner プラグイン
• Visual Studio 標準の単体テスト (通称 MSTest) を自動実
行します。
• MSTest.exe を使います。
• https://wiki.jenkins-
ci.org/disp...
MSTest.exe って?
• テストを実行するために使用されるコマンドライン
アプリケーションです。
• Visual Studio (Express以外) が必要になります。
• テスト結果をファイル出力 (XML) できます。
MSTestRunner プラグイン
単体テストを手動で実行する (NUnit 編)
NUnit って?
• .NET 向けのテスティングフレームワークです。
• MSTest が使えない Visual Studio で単体テストを行える。
• NuGet (パッケージマネージャ) 経由で、簡単にプロ
ジェクトに追加できる。
NUnit プラグイン
• NUnit を使った単体テストの件数や結果を保存、グラフ
化します。
• 自動テストではないため、ビルド成功時に単体テスト
を実行するよう、ソリューションまたは Jenkins に組み
込むことが必要です。
• ht...
NUnit プラグイン
• 成功件数と失敗件数の遷移が分かる。
NUnit プラグイン
• 失敗時のスタックトレースも分かる。
VsTestRunner プラグイン
• 発表前日になって見つけました。
• Visual Studio に付随する vstest.console.exe を使って単
体テストを行うようです。
• 単体テストに関する設定を GUI で選べるため...
VsTestRunner プラグイン
感想
• 単体テスト自体は、Visual Studio 標準 (MSTest) で十分
な機能を有していると思います。
• Jenkins 上のテスト結果が分かりやすい NUnit も捨てが
たい。Visual Studio Express な...
5月から社内プロジェクトに試験導入しました
• Windows Server 2012 R2
• Apache
• Subversion
• Jenkins (MSBuild, MSTestRunner)
流れは?
Commit
.bat,.vbs
• MSBuild
• MSTestRunner
• フックスクリプト
作動
.bat と .vbs
SET CSCRIPT=%windir%¥system32¥cscript.exe
SET VBSCRIPT=C:¥path¥to¥post-commit.vbs
SET JENKINS=http://<Jenkinsの...
今回の検証環境
• Windows × Jenkins の環境は Vagrant で作りました。
• Windows Server 2012 評価版を利用。180日間使えます。
• Box の作り方はこちらを参考に。
• http://tech...
Vagrant 1.6 の新機能
• vagrant-windows プラグインの機能が標準搭載。
• http://www.vagrantup.com/blog/vagrant-1-6.html
• vagrant rdp コマンドで仮想マシ...
Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "windows2...
Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "windows2...
Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "windows2...
Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "windows2...
Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "windows2...
ありがとうございました。
Próximos SlideShares
Carregando em…5
×

Jenkins使ってみた~Windows編~

8.185 visualizações

Publicada em

仮想開発環境とか勉強会 (http://www.zusaar.com/event/5417007) での発表資料です。

Publicada em: Meio ambiente
  • If you want to download or read this book, Copy link or url below in the New tab ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .........................................................................................................................
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • If you want to download or read this book, Copy link or url below in the New tab ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .........................................................................................................................
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

Jenkins使ってみた~Windows編~

  1. 1. Jenkins使ってみた ~Windows編~ @tsubakimoto_s
  2. 2. 自己紹介 • 松村 優大 (Yuta Matsumura) • 医療系システムの開発・導入をしています。主に C#。 • 切磋琢磨できる人たちと仲良くなりたい。 • MLB大好きです。Vagrantも好き。 • Twitter : @tsubakimoto_s • 島根県出身です。
  3. 3. 私と Jenkins • 私はほとんど Jenkins のことを知りません。 • 社内の C# 開発プロジェクトに導入するために Jenkins を勉強しています。 • この勉強会の内容も丸パクリ参考にします。 • チーム開発に役立つプラグイン教えて下さい ><
  4. 4. 自動化したいこと • ソリューションのビルド。 • リポジトリに変更があった際に、ソリューション全体が正しくビルド できるかどうかの確認をします。 • プログラムの単体テスト。 • リポジトリに変更があった際に、単体テストを実施し、デグレが発生 していないことの確認をします。
  5. 5. 自動化したいこと • ソリューションのビルド。 • リポジトリに変更があった際に、ソリューション全体が正しくビルド できるかどうかの確認をします。 • プログラムの単体テスト。 • リポジトリに変更があった際に、単体テストを実施し、デグレが発生 していないことの確認をします。
  6. 6. ビルドを手動で実行する
  7. 7. MSBuild プラグイン • .NET プロジェクトの自動ビルドを行い、ビルド結果や エラー情報が保存されます。 • MSBuild.exe を使います。 • https://wiki.jenkins- ci.org/display/JENKINS/MSBuild+Plugin
  8. 8. MSBuild.exe って? • ビルドエンジンです。 • .NET Framework のインストールに付随します。 • サーバに Visual Studio をインストールしなくてもビル ドができます。
  9. 9. MSBuild プラグイン MSBuild.exe
  10. 10. MSBuild プラグイン
  11. 11. 自動化したいこと • ソリューションのビルド。 • リポジトリに変更があった際に、ソリューション全体が正しくビルド できるかどうかの確認をします。 • プログラムの単体テスト。 • リポジトリに変更があった際に、単体テストを実施し、デグレが発生 していないことの確認をします。
  12. 12. 単体テストを手動で実行する
  13. 13. MSTestRunner プラグイン • Visual Studio 標準の単体テスト (通称 MSTest) を自動実 行します。 • MSTest.exe を使います。 • https://wiki.jenkins- ci.org/display/JENKINS/MSTestRunner+Plugin
  14. 14. MSTest.exe って? • テストを実行するために使用されるコマンドライン アプリケーションです。 • Visual Studio (Express以外) が必要になります。 • テスト結果をファイル出力 (XML) できます。
  15. 15. MSTestRunner プラグイン
  16. 16. 単体テストを手動で実行する (NUnit 編)
  17. 17. NUnit って? • .NET 向けのテスティングフレームワークです。 • MSTest が使えない Visual Studio で単体テストを行える。 • NuGet (パッケージマネージャ) 経由で、簡単にプロ ジェクトに追加できる。
  18. 18. NUnit プラグイン • NUnit を使った単体テストの件数や結果を保存、グラフ 化します。 • 自動テストではないため、ビルド成功時に単体テスト を実行するよう、ソリューションまたは Jenkins に組み 込むことが必要です。 • http://wiki.jenkins-ci.org/display/JENKINS/NUnit+Plugin
  19. 19. NUnit プラグイン • 成功件数と失敗件数の遷移が分かる。
  20. 20. NUnit プラグイン • 失敗時のスタックトレースも分かる。
  21. 21. VsTestRunner プラグイン • 発表前日になって見つけました。 • Visual Studio に付随する vstest.console.exe を使って単 体テストを行うようです。 • 単体テストに関する設定を GUI で選べるため、便利そ う。
  22. 22. VsTestRunner プラグイン
  23. 23. 感想 • 単体テスト自体は、Visual Studio 標準 (MSTest) で十分 な機能を有していると思います。 • Jenkins 上のテスト結果が分かりやすい NUnit も捨てが たい。Visual Studio Express なら NUnit 一択です。 • VsTestRunner プラグインが気になって仕方がない。
  24. 24. 5月から社内プロジェクトに試験導入しました • Windows Server 2012 R2 • Apache • Subversion • Jenkins (MSBuild, MSTestRunner)
  25. 25. 流れは? Commit .bat,.vbs • MSBuild • MSTestRunner • フックスクリプト 作動
  26. 26. .bat と .vbs SET CSCRIPT=%windir%¥system32¥cscript.exe SET VBSCRIPT=C:¥path¥to¥post-commit.vbs SET JENKINS=http://<JenkinsのURL>/job/<プロジェクト名>/build "%CSCRIPT%" "%VBSCRIPT%" %JENKINS% url=WScript.Arguments.Item(0) Set http=CreateObject("Microsoft.XMLHTTP") http.open "POST", url, False http.setRequestHeader "Content-Type", "text/plain;charset=UTF-8" http.send "" post-commit.bat post-commit.vbs
  27. 27. 今回の検証環境 • Windows × Jenkins の環境は Vagrant で作りました。 • Windows Server 2012 評価版を利用。180日間使えます。 • Box の作り方はこちらを参考に。 • http://tech.nitoyon.com/ja/blog/2014/02/20/vagrant-win- guest/ • vagrant-windows プラグイン必要。
  28. 28. Vagrant 1.6 の新機能 • vagrant-windows プラグインの機能が標準搭載。 • http://www.vagrantup.com/blog/vagrant-1-6.html • vagrant rdp コマンドで仮想マシンへのリモートデスク トップ接続が可能になりました。 • が、きちんと動いた試しがありません。Boxの作り方に コツがいるのかなぁと。分かる方教えて下さい><
  29. 29. Vagrantfile VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "windows2012r2" config.vm.guest = :windows config.vm.network :forwarded_port, guest: 3389, host: 3389 config.vm.network :forwarded_port, guest: 5985, host: 5985 config.vm.network :forwarded_port, guest: 8080, host: 8080 end
  30. 30. Vagrantfile VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "windows2012r2" config.vm.guest = :windows config.vm.network :forwarded_port, guest: 3389, host: 3389 config.vm.network :forwarded_port, guest: 5985, host: 5985 config.vm.network :forwarded_port, guest: 8080, host: 8080 end [vagrant-windows]プラグインを使うよう指定する。
  31. 31. Vagrantfile VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "windows2012r2" config.vm.guest = :windows config.vm.network :forwarded_port, guest: 3389, host: 3389 config.vm.network :forwarded_port, guest: 5985, host: 5985 config.vm.network :forwarded_port, guest: 8080, host: 8080 end リモートデスクトップのためのポートフォワード設定。
  32. 32. Vagrantfile VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "windows2012r2" config.vm.guest = :windows config.vm.network :forwarded_port, guest: 3389, host: 3389 config.vm.network :forwarded_port, guest: 5985, host: 5985 config.vm.network :forwarded_port, guest: 8080, host: 8080 end Windows リモート管理 (WinRM) のためのポートフォワード設定。
  33. 33. Vagrantfile VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "windows2012r2" config.vm.guest = :windows config.vm.network :forwarded_port, guest: 3389, host: 3389 config.vm.network :forwarded_port, guest: 5985, host: 5985 config.vm.network :forwarded_port, guest: 8080, host: 8080 end Jenkins にアクセスするためのポートフォワード設定。
  34. 34. ありがとうございました。

×