Suche senden
Hochladen
Jenkins使ってみた~Windows編~
•
8 gefällt mir
•
10,505 views
Yuta Matsumura
Folgen
仮想開発環境とか勉強会 (http://www.zusaar.com/event/5417007) での発表資料です。
Weniger lesen
Mehr lesen
Umweltschutz
Melden
Teilen
Melden
Teilen
1 von 34
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Recomendados
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
sairoutine
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
MagicOnion入門
MagicOnion入門
torisoup
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
KLab Inc. / Tech
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
Más contenido relacionado
Was ist angesagt?
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
torisoup
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
Naoya Kishimoto
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
DeNA
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
Takafumi ONAKA
【Unity道場Houdini編】UnityとHoudiniで作るRealtimeVFX実践解説 後編
【Unity道場Houdini編】UnityとHoudiniで作るRealtimeVFX実践解説 後編
UnityTechnologiesJapan002
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
historia_Inc
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理
Tadashi Miyazato
Photonのサービス選択の勘どころ
Photonのサービス選択の勘どころ
GMO GlobalSign Holdings K.K.
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
torisoup
年の瀬リアルタイム通信サーバ勉強会
年の瀬リアルタイム通信サーバ勉強会
モノビット エンジン
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
IL2CPPに関する軽い話
IL2CPPに関する軽い話
Wooram Yang
Epic Online Services でできること
Epic Online Services でできること
エピック・ゲームズ・ジャパン Epic Games Japan
知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について
健一 辰濱
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮
Takafumi ONAKA
Was ist angesagt?
(20)
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
【Unity道場Houdini編】UnityとHoudiniで作るRealtimeVFX実践解説 後編
【Unity道場Houdini編】UnityとHoudiniで作るRealtimeVFX実践解説 後編
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Pythonによる黒魔術入門
Pythonによる黒魔術入門
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理
Photonのサービス選択の勘どころ
Photonのサービス選択の勘どころ
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
年の瀬リアルタイム通信サーバ勉強会
年の瀬リアルタイム通信サーバ勉強会
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
IL2CPPに関する軽い話
IL2CPPに関する軽い話
Epic Online Services でできること
Epic Online Services でできること
知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮
Ähnlich wie Jenkins使ってみた~Windows編~
恋するJenkins
恋するJenkins
Hiroshi Nakao
Jenkins実践入門目次チラ見せしちゃいます
Jenkins実践入門目次チラ見せしちゃいます
Masanori Satoh
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
Takayuki Kondou
Jenkinsstudy#4kokawa
Jenkinsstudy#4kokawa
Takashi Kokawa
モダン開発環境
モダン開発環境
Koji Agawa
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1
Hiro Yoshioka
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例
Takeshi Kondo
ALMツールたべくらべ
ALMツールたべくらべ
Kaoru NAKAMURA
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCI
Takafumi Ikeda
邪道Jenkins
邪道Jenkins
hazisarashi
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編
kimulla
Jenkins 再入門
Jenkins 再入門
Jumpei Miyata
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について
Rakuten Group, Inc.
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
Hiro Yoshioka
CIBC workshop by imagire
CIBC workshop by imagire
Takashi Imagire
CIのもたらす世界
CIのもたらす世界
Tatsuhito Kato
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
torutk
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
Y Watanabe
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
UnityTechnologiesJapan002
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
Takeshi Komiya
Ähnlich wie Jenkins使ってみた~Windows編~
(20)
恋するJenkins
恋するJenkins
Jenkins実践入門目次チラ見せしちゃいます
Jenkins実践入門目次チラ見せしちゃいます
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
Jenkinsstudy#4kokawa
Jenkinsstudy#4kokawa
モダン開発環境
モダン開発環境
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例
ALMツールたべくらべ
ALMツールたべくらべ
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCI
邪道Jenkins
邪道Jenkins
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編
Jenkins 再入門
Jenkins 再入門
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
CIBC workshop by imagire
CIBC workshop by imagire
CIのもたらす世界
CIのもたらす世界
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
Mehr von Yuta Matsumura
「自分のとこでは動くけど…」を無くす devcontainer
「自分のとこでは動くけど…」を無くす devcontainer
Yuta Matsumura
チーム開発で徐々にコード品質をあげていく取り組み
チーム開発で徐々にコード品質をあげていく取り組み
Yuta Matsumura
.NETのサポートポリシーのおさらい #csharptokyo
.NETのサポートポリシーのおさらい #csharptokyo
Yuta Matsumura
App Modernization for .NET
App Modernization for .NET
Yuta Matsumura
分かったうえではじめるCI/CD
分かったうえではじめるCI/CD
Yuta Matsumura
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
Yuta Matsumura
いつでもどこでも .NET
いつでもどこでも .NET
Yuta Matsumura
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
Yuta Matsumura
マイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tye
Yuta Matsumura
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
Yuta Matsumura
Azure の ID 管理サービスに LINE ログインを組み込もう
Azure の ID 管理サービスに LINE ログインを組み込もう
Yuta Matsumura
Blazor Server テンプレート解説
Blazor Server テンプレート解説
Yuta Matsumura
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
Yuta Matsumura
改めて C# でできることを振り返る
改めて C# でできることを振り返る
Yuta Matsumura
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
Yuta Matsumura
忙しい人のための .NET Conf 2019 まとめ
忙しい人のための .NET Conf 2019 まとめ
Yuta Matsumura
.NET Conf の歩き方
.NET Conf の歩き方
Yuta Matsumura
PHPカンファレンス福岡2019 閉会式
PHPカンファレンス福岡2019 閉会式
Yuta Matsumura
PHPカンファレンス福岡2019 開会式
PHPカンファレンス福岡2019 開会式
Yuta Matsumura
これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏
Yuta Matsumura
Mehr von Yuta Matsumura
(20)
「自分のとこでは動くけど…」を無くす devcontainer
「自分のとこでは動くけど…」を無くす devcontainer
チーム開発で徐々にコード品質をあげていく取り組み
チーム開発で徐々にコード品質をあげていく取り組み
.NETのサポートポリシーのおさらい #csharptokyo
.NETのサポートポリシーのおさらい #csharptokyo
App Modernization for .NET
App Modernization for .NET
分かったうえではじめるCI/CD
分かったうえではじめるCI/CD
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
いつでもどこでも .NET
いつでもどこでも .NET
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
マイクロサービス開発が捗る Project Tye
マイクロサービス開発が捗る Project Tye
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
Azure の ID 管理サービスに LINE ログインを組み込もう
Azure の ID 管理サービスに LINE ログインを組み込もう
Blazor Server テンプレート解説
Blazor Server テンプレート解説
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
改めて C# でできることを振り返る
改めて C# でできることを振り返る
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
忙しい人のための .NET Conf 2019 まとめ
忙しい人のための .NET Conf 2019 まとめ
.NET Conf の歩き方
.NET Conf の歩き方
PHPカンファレンス福岡2019 閉会式
PHPカンファレンス福岡2019 閉会式
PHPカンファレンス福岡2019 開会式
PHPカンファレンス福岡2019 開会式
これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏
Jenkins使ってみた~Windows編~
1.
Jenkins使ってみた ~Windows編~ @tsubakimoto_s
2.
自己紹介 • 松村 優大
(Yuta Matsumura) • 医療系システムの開発・導入をしています。主に C#。 • 切磋琢磨できる人たちと仲良くなりたい。 • MLB大好きです。Vagrantも好き。 • Twitter : @tsubakimoto_s • 島根県出身です。
3.
私と Jenkins • 私はほとんど
Jenkins のことを知りません。 • 社内の C# 開発プロジェクトに導入するために Jenkins を勉強しています。 • この勉強会の内容も丸パクリ参考にします。 • チーム開発に役立つプラグイン教えて下さい ><
4.
自動化したいこと • ソリューションのビルド。 • リポジトリに変更があった際に、ソリューション全体が正しくビルド できるかどうかの確認をします。 •
プログラムの単体テスト。 • リポジトリに変更があった際に、単体テストを実施し、デグレが発生 していないことの確認をします。
5.
自動化したいこと • ソリューションのビルド。 • リポジトリに変更があった際に、ソリューション全体が正しくビルド できるかどうかの確認をします。 •
プログラムの単体テスト。 • リポジトリに変更があった際に、単体テストを実施し、デグレが発生 していないことの確認をします。
6.
ビルドを手動で実行する
7.
MSBuild プラグイン • .NET
プロジェクトの自動ビルドを行い、ビルド結果や エラー情報が保存されます。 • MSBuild.exe を使います。 • https://wiki.jenkins- ci.org/display/JENKINS/MSBuild+Plugin
8.
MSBuild.exe って? • ビルドエンジンです。 •
.NET Framework のインストールに付随します。 • サーバに Visual Studio をインストールしなくてもビル ドができます。
9.
MSBuild プラグイン MSBuild.exe
10.
MSBuild プラグイン
11.
自動化したいこと • ソリューションのビルド。 • リポジトリに変更があった際に、ソリューション全体が正しくビルド できるかどうかの確認をします。 •
プログラムの単体テスト。 • リポジトリに変更があった際に、単体テストを実施し、デグレが発生 していないことの確認をします。
12.
単体テストを手動で実行する
13.
MSTestRunner プラグイン • Visual
Studio 標準の単体テスト (通称 MSTest) を自動実 行します。 • MSTest.exe を使います。 • https://wiki.jenkins- ci.org/display/JENKINS/MSTestRunner+Plugin
14.
MSTest.exe って? • テストを実行するために使用されるコマンドライン アプリケーションです。 •
Visual Studio (Express以外) が必要になります。 • テスト結果をファイル出力 (XML) できます。
15.
MSTestRunner プラグイン
16.
単体テストを手動で実行する (NUnit 編)
17.
NUnit って? • .NET
向けのテスティングフレームワークです。 • MSTest が使えない Visual Studio で単体テストを行える。 • NuGet (パッケージマネージャ) 経由で、簡単にプロ ジェクトに追加できる。
18.
NUnit プラグイン • NUnit
を使った単体テストの件数や結果を保存、グラフ 化します。 • 自動テストではないため、ビルド成功時に単体テスト を実行するよう、ソリューションまたは Jenkins に組み 込むことが必要です。 • http://wiki.jenkins-ci.org/display/JENKINS/NUnit+Plugin
19.
NUnit プラグイン • 成功件数と失敗件数の遷移が分かる。
20.
NUnit プラグイン • 失敗時のスタックトレースも分かる。
21.
VsTestRunner プラグイン • 発表前日になって見つけました。 •
Visual Studio に付随する vstest.console.exe を使って単 体テストを行うようです。 • 単体テストに関する設定を GUI で選べるため、便利そ う。
22.
VsTestRunner プラグイン
23.
感想 • 単体テスト自体は、Visual Studio
標準 (MSTest) で十分 な機能を有していると思います。 • Jenkins 上のテスト結果が分かりやすい NUnit も捨てが たい。Visual Studio Express なら NUnit 一択です。 • VsTestRunner プラグインが気になって仕方がない。
24.
5月から社内プロジェクトに試験導入しました • Windows Server
2012 R2 • Apache • Subversion • Jenkins (MSBuild, MSTestRunner)
25.
流れは? Commit .bat,.vbs • MSBuild • MSTestRunner •
フックスクリプト 作動
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.
今回の検証環境 • Windows ×
Jenkins の環境は Vagrant で作りました。 • Windows Server 2012 評価版を利用。180日間使えます。 • Box の作り方はこちらを参考に。 • http://tech.nitoyon.com/ja/blog/2014/02/20/vagrant-win- guest/ • vagrant-windows プラグイン必要。
28.
Vagrant 1.6 の新機能 •
vagrant-windows プラグインの機能が標準搭載。 • http://www.vagrantup.com/blog/vagrant-1-6.html • vagrant rdp コマンドで仮想マシンへのリモートデスク トップ接続が可能になりました。 • が、きちんと動いた試しがありません。Boxの作り方に コツがいるのかなぁと。分かる方教えて下さい><
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.
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.
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.
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.
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.
ありがとうございました。
Jetzt herunterladen