SlideShare uma empresa Scribd logo
1 de 94
Baixar para ler offline
Gateway CheckIn Pattern
Jenkins * Git
@kyon_mm in AAA 2014/06/28
Self Introduction
Self Introduction
• きょん(@kyon_mm) 26歳 うさみみエンジニア
Self Introduction
• きょん(@kyon_mm) 26歳 うさみみエンジニア
• Test Architect in Nagoya
Self Introduction
• きょん(@kyon_mm) 26歳 うさみみエンジニア
• Test Architect in Nagoya
• Groovy, F#, C#, Scala
Self Introduction
• きょん(@kyon_mm) 26歳 うさみみエンジニア
• Test Architect in Nagoya
• Groovy, F#, C#, Scala
• SCMBC, Nagoya.Testing, TDDBC
Self Introduction
• きょん(@kyon_mm) 26歳 うさみみエンジニア
• Test Architect in Nagoya
• Groovy, F#, C#, Scala
• SCMBC, Nagoya.Testing, TDDBC
• TDD/BDDチョットデキル
Self Introduction
• きょん(@kyon_mm) 26歳 うさみみエンジニア
• Test Architect in Nagoya
• Groovy, F#, C#, Scala
• SCMBC, Nagoya.Testing, TDDBC
• TDD/BDDチョットデキル
• 月曜日に長男が生まれました
Agenda
• ツール紹介
• 安全と高速の両立
• JenkinsとGitによるGateway CheckIn Pattern
• まとめ
• おまけ
Jenkins
• Continuous Integration(CI) に特化したサー
バーアプリケーションです。OSSですが、エン
タープライズ版もあります。Javaがインス
トールされていれば動きます。
• http://jenkins-ci.org/
• 現状最も柔軟なCIツール。
Git
• Distributed Version Control System(DVCS)に
特化したアプリケーションです。OSSで、
Linux, Mac, Windowsで動作します。
• http://git-scm.com/
• 現状最も人気のあるDVCSです。
Agenda
• ツール紹介
• 安全と高速の両立
• JenkinsとGitによるGateway CheckIn Pattern
• まとめ
• おまけ
Gitのマージの不安全さ
• CIなどでGitのマージを行うと便利そうに見えるときがあ
る。
• イメージ
• git checkout id/xxx
• build
• git merge master
• git push origin master
Gitのマージの不安全さ
• Gitのマージはセマンティクスを保証しない。
• テストコードがセマンティクスを保証できて
いるかどうかを判断するタイミングが、マー
ジ前、マージ時、マージ後のときがあり、必
ずしも十分なテストコードであるかどうかは
わからない。
不安全さ | 時間 を 人数で見る
不安全さ
コミットする人数
手動マージ 自動マージ
時間
コミットする人数
手動マージ 自動マージ
安全側に倒す
• 人数が少ないうちは多少の時間を犠牲にして
手動マージしたほうが安全なコミットをする
ほうがメリットが高いことが多い。
• スキル差があまりにあるときや、タスク分割
が下手だと、いつまでもpushできないときが
あるので、ペアプロ導入やコミット対象を気
にしたタスク分割をする。
特定テストを気軽に確認する
• 自分の環境以外で全ての(例えば)UnitTestを確
認するためにJenkinsは向いている。
特定テストを気軽に確認する
• 全員で1つのリポジトリを共有していると、テ
ストが失敗したリビジョンが全員にpullされる
可能性がある
• pushする前のルールが増えてしまい、下手し
たらいつまでもローカルで作業をするという
悪循環が生まれる。
特定テストを気軽に確認する
• コミッター毎にpush専用の個人用リポジトリ
を用意することで、気軽にpush & CIをできる
ようにする。
• push専用リポジトリ = privateリポジトリ
• pull専用リポジトリ = centralリポジトリ
Agenda
• ツール紹介
• 安全と高速の両立
• JenkinsとGitによるGateway CheckIn Pattern
• まとめ
• おまけ
Gateway CheckIn Pattern
Gateway CheckIn Pattern
ある基準をクリアしたコードのみが共有され
る仕組み(すごいざっくり説明です。要出典)
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
edit & merge
pull ¦ clone
push
kick job
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
developer:compile & component test
central:compile & component test & integration test
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
developerジョブが成功したときのみ、pullできるリポジトリ
にpushされる。
このdeveloperジョブをGatewayと見なして、Gateway
CheckInと呼ぶことが多いようです。
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
Gitolite Server
Jenkins Server
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
edit & merge
pull ¦ clone
push
kick job
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
edit & merge
pull ¦ clone
push
kick job
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
edit & merge
pull ¦ clone
push
kick job
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
edit & merge
pull ¦ clone
push
kick job
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
edit & merge
pull ¦ clone
push
kick job
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
edit & merge
pull ¦ clone
push
kick job
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
edit & merge
pull ¦ clone
push
kick job
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
edit & merge
pull ¦ clone
push
kick job
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
edit & merge
pull ¦ clone
push
kick job
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon push
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon push
private build
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon push
private build
jenkins push
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon push
private build
central build
jenkins push
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon push
private build
central build
jenkins push
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon push
private build
central buildbleis push
jenkins push
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon push
private build
central buildbleis push
jenkins push
private build
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon push
private build
central buildbleis push
jenkins push
jenkins push
private build
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon push
private build
central buildbleis push
jenkins push
jenkins push
private build
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
bleis push
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
bleis push
private build
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
bleis push
jenkins push
private build
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
bleis push
jenkins push
private build
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
bleis push
jenkins push
private build
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
bleis push
jenkins push
bleis pull
private build
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
bleis push
jenkins push
bleis pull
private build
private build
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
bleis push
jenkins push
bleis pull
private build
jenkins push
private build
kyon_mm
Local Repo
kyon_mm
private
Repo
Central
Repo
developer central
bleis
Local Repo
bleis
private
Repo
bleis push
jenkins push
bleis pull
private build
jenkins push
central build
private build
Agenda
• ツール紹介
• 安全と高速の両立
• JenkinsとGitによるGateway CheckIn Pattern
• まとめ
• おまけ
構成まとめ
• Gitリポジトリ数 : 開発者数 = n +1 : n
• Jenkinsジョブ数 = 2∼
• privateからのみGitのhookでdeveloperジョブ
を起動。
• developerジョブ以降はJenkinsでジョブ連携
使っているJenkins Pluginや設定
• ビルドパラメータ
• Git Plugin
• Build PipeLine Plugin
• Scriptler Plugin
• Log Parser
• Job ConfigHistory
まとめ
• 実際にはもっと後続のジョブを連携させていますが、基本形
は紹介した通りです。
• 少しずつ進歩してこの形になりましたが、基本的な形が出来
てから3年ほど経過しましたが、5名程度以下の開発ではうま
くいっています。(それ以上は知らない。
• 気軽にpushできるようにしたり、pullできるのはある基準で
の安全なコードのみに強制する仕組みもよい。
• リモートで仕事していると困るかもね :-p
ご清聴ありがとうございました
おまけ
Jenkinsのダメなところ
おまけ
Jenkinsのダメなところ
• ジョブは関数でしかないわけだが、関数的に扱えない。
おまけ
Jenkinsのダメなところ
• ジョブは関数でしかないわけだが、関数的に扱えない。
• 同一のジョブを複数実行できない。再帰呼び出しも出来な
い。例えば次ができない
おまけ
Jenkinsのダメなところ
• ジョブは関数でしかないわけだが、関数的に扱えない。
• 同一のジョブを複数実行できない。再帰呼び出しも出来な
い。例えば次ができない
• JobAAA repo1
おまけ
Jenkinsのダメなところ
• ジョブは関数でしかないわけだが、関数的に扱えない。
• 同一のジョブを複数実行できない。再帰呼び出しも出来な
い。例えば次ができない
• JobAAA repo1
• JobBBB repo1
おまけ
Jenkinsのダメなところ
• ジョブは関数でしかないわけだが、関数的に扱えない。
• 同一のジョブを複数実行できない。再帰呼び出しも出来な
い。例えば次ができない
• JobAAA repo1
• JobBBB repo1
• JobBBB repo2
おまけ
Jenkinsのダメなところ
• ジョブは関数でしかないわけだが、関数的に扱えない。
• 同一のジョブを複数実行できない。再帰呼び出しも出来な
い。例えば次ができない
• JobAAA repo1
• JobBBB repo1
• JobBBB repo2
• マスター/スレーブで実行しているときに、スレーブマシンで
ジョブ実行中には「Jenkins自体の情報」を取得できない。
おまけ
現状のCIで何を選ぶべきか
おまけ
現状のCIで何を選ぶべきか
• 簡単にやりたい!!!
おまけ
現状のCIで何を選ぶべきか
• 簡単にやりたい!!!
• Wercker, Travis.CI
おまけ
現状のCIで何を選ぶべきか
• 簡単にやりたい!!!
• Wercker, Travis.CI
• オンプレミスで簡単にやりたい!!!
おまけ
現状のCIで何を選ぶべきか
• 簡単にやりたい!!!
• Wercker, Travis.CI
• オンプレミスで簡単にやりたい!!!
• TeamCity
おまけ
現状のCIで何を選ぶべきか
• 簡単にやりたい!!!
• Wercker, Travis.CI
• オンプレミスで簡単にやりたい!!!
• TeamCity
おまけ
現状のCIで何を選ぶべきか
• 簡単にやりたい!!!
• Wercker, Travis.CI
• オンプレミスで簡単にやりたい!!!
• TeamCity
• とにかく柔軟にやりたい!!!
おまけ
現状のCIで何を選ぶべきか
• 簡単にやりたい!!!
• Wercker, Travis.CI
• オンプレミスで簡単にやりたい!!!
• TeamCity
• とにかく柔軟にやりたい!!!
• Jenkins
おまけ
現状のCIで何を選ぶべきか
• 簡単にやりたい!!!
• Wercker, Travis.CI
• オンプレミスで簡単にやりたい!!!
• TeamCity
• とにかく柔軟にやりたい!!!
• Jenkins
おまけ
現状のCIで何を選ぶべきか
• 簡単にやりたい!!!
• Wercker, Travis.CI
• オンプレミスで簡単にやりたい!!!
• TeamCity
• とにかく柔軟にやりたい!!!
• Jenkins
• Jenkinsよりいいものがほしい!!!
おまけ
現状のCIで何を選ぶべきか
• 簡単にやりたい!!!
• Wercker, Travis.CI
• オンプレミスで簡単にやりたい!!!
• TeamCity
• とにかく柔軟にやりたい!!!
• Jenkins
• Jenkinsよりいいものがほしい!!!
• Vert.x + Scala | Groovy
おまけ
現状のCIで何を選ぶべきか
• 簡単にやりたい!!!
• Wercker, Travis.CI
• オンプレミスで簡単にやりたい!!!
• TeamCity
• とにかく柔軟にやりたい!!!
• Jenkins
• Jenkinsよりいいものがほしい!!!
• Vert.x + Scala | Groovy
• でつくるのが良いと思います。

Mais conteúdo relacionado

Destaque

Scrum始めました
Scrum始めましたScrum始めました
Scrum始めました
minamo
 
プロジェクト見える化計画 Web
プロジェクト見える化計画 Webプロジェクト見える化計画 Web
プロジェクト見える化計画 Web
minamo
 
期限内に問題を解決する技術(プロジェクトマネジメント・ワークショップ)公開スライド:後半
期限内に問題を解決する技術(プロジェクトマネジメント・ワークショップ)公開スライド:後半期限内に問題を解決する技術(プロジェクトマネジメント・ワークショップ)公開スライド:後半
期限内に問題を解決する技術(プロジェクトマネジメント・ワークショップ)公開スライド:後半
Management_CoLtd
 

Destaque (20)

PMBOKで学ぶプロジェクトマネジメントの基礎
PMBOKで学ぶプロジェクトマネジメントの基礎PMBOKで学ぶプロジェクトマネジメントの基礎
PMBOKで学ぶプロジェクトマネジメントの基礎
 
統計的品質管理の功罪
統計的品質管理の功罪統計的品質管理の功罪
統計的品質管理の功罪
 
[G-Tech2014講演資料] プロジェクト・コスト・マネジメントの核心 - グローバルナレッジ
[G-Tech2014講演資料] プロジェクト・コスト・マネジメントの核心 - グローバルナレッジ[G-Tech2014講演資料] プロジェクト・コスト・マネジメントの核心 - グローバルナレッジ
[G-Tech2014講演資料] プロジェクト・コスト・マネジメントの核心 - グローバルナレッジ
 
初めての人の為のプロジェクトマネジメント入門
初めての人の為のプロジェクトマネジメント入門初めての人の為のプロジェクトマネジメント入門
初めての人の為のプロジェクトマネジメント入門
 
すぐに分かる!プロジェクト計画の作り方
すぐに分かる!プロジェクト計画の作り方すぐに分かる!プロジェクト計画の作り方
すぐに分かる!プロジェクト計画の作り方
 
ようこそ!“プロジェクトマネジメント保健室”へ!
ようこそ!“プロジェクトマネジメント保健室”へ!ようこそ!“プロジェクトマネジメント保健室”へ!
ようこそ!“プロジェクトマネジメント保健室”へ!
 
Scrum始めました
Scrum始めましたScrum始めました
Scrum始めました
 
プロジェクト見える化計画 Web
プロジェクト見える化計画 Webプロジェクト見える化計画 Web
プロジェクト見える化計画 Web
 
Project Integration Management
Project Integration ManagementProject Integration Management
Project Integration Management
 
Project cost management PMBOK 5th Edition
Project cost management PMBOK 5th EditionProject cost management PMBOK 5th Edition
Project cost management PMBOK 5th Edition
 
Project Procurement Management PMBOK 5
Project Procurement Management PMBOK 5Project Procurement Management PMBOK 5
Project Procurement Management PMBOK 5
 
Project Human Resource Management - PMBOK 5
Project Human Resource Management - PMBOK 5Project Human Resource Management - PMBOK 5
Project Human Resource Management - PMBOK 5
 
Project communications management (PMBOK 5th Edition)
Project communications management (PMBOK 5th Edition)Project communications management (PMBOK 5th Edition)
Project communications management (PMBOK 5th Edition)
 
期限内に問題を解決する技術(プロジェクトマネジメント・ワークショップ)公開スライド:後半
期限内に問題を解決する技術(プロジェクトマネジメント・ワークショップ)公開スライド:後半期限内に問題を解決する技術(プロジェクトマネジメント・ワークショップ)公開スライド:後半
期限内に問題を解決する技術(プロジェクトマネジメント・ワークショップ)公開スライド:後半
 
Project Quality Management - PMBOK 5th Edition
Project Quality Management - PMBOK 5th EditionProject Quality Management - PMBOK 5th Edition
Project Quality Management - PMBOK 5th Edition
 
Project Time Management - PMBOK 5th Edition
Project  Time Management - PMBOK 5th EditionProject  Time Management - PMBOK 5th Edition
Project Time Management - PMBOK 5th Edition
 
Project Scope Management - PMBOK 5th Edition
Project Scope Management - PMBOK 5th EditionProject Scope Management - PMBOK 5th Edition
Project Scope Management - PMBOK 5th Edition
 
Project Management Framework - PMBOK 5
Project Management Framework - PMBOK 5Project Management Framework - PMBOK 5
Project Management Framework - PMBOK 5
 
Project Stakeholder Management - PMBOK 5
Project Stakeholder Management - PMBOK 5Project Stakeholder Management - PMBOK 5
Project Stakeholder Management - PMBOK 5
 
Project Risk Management - PMBOK5
Project Risk Management - PMBOK5Project Risk Management - PMBOK5
Project Risk Management - PMBOK5
 

Semelhante a JenkinsとGitで実装するGatewayCheckIn Pattern #AsianAA

タウンワークアプリの案件開発を支えるオフショアチームの成り立ちとこれから / iOSDC Japan 2021
タウンワークアプリの案件開発を支えるオフショアチームの成り立ちとこれから / iOSDC Japan 2021タウンワークアプリの案件開発を支えるオフショアチームの成り立ちとこれから / iOSDC Japan 2021
タウンワークアプリの案件開発を支えるオフショアチームの成り立ちとこれから / iOSDC Japan 2021
Ataru Osaka
 
Tokyor13 - YjdnJlpパッケージとTokyo.R翻訳プロジェクトの紹介
Tokyor13 - YjdnJlpパッケージとTokyo.R翻訳プロジェクトの紹介Tokyor13 - YjdnJlpパッケージとTokyo.R翻訳プロジェクトの紹介
Tokyor13 - YjdnJlpパッケージとTokyo.R翻訳プロジェクトの紹介
Yohei Sato
 

Semelhante a JenkinsとGitで実装するGatewayCheckIn Pattern #AsianAA (20)

Inside Android N
Inside Android NInside Android N
Inside Android N
 
Benchmarkspec
BenchmarkspecBenchmarkspec
Benchmarkspec
 
Benchmarkspec
BenchmarkspecBenchmarkspec
Benchmarkspec
 
タウンワークアプリの案件開発を支えるオフショアチームの成り立ちとこれから / iOSDC Japan 2021
タウンワークアプリの案件開発を支えるオフショアチームの成り立ちとこれから / iOSDC Japan 2021タウンワークアプリの案件開発を支えるオフショアチームの成り立ちとこれから / iOSDC Japan 2021
タウンワークアプリの案件開発を支えるオフショアチームの成り立ちとこれから / iOSDC Japan 2021
 
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
 
CodeIgniterユーザガイドの翻訳に参加しよう!
CodeIgniterユーザガイドの翻訳に参加しよう!CodeIgniterユーザガイドの翻訳に参加しよう!
CodeIgniterユーザガイドの翻訳に参加しよう!
 
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
 
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
 
Line Creators Studio Android With Kotlin
Line Creators Studio Android With KotlinLine Creators Studio Android With Kotlin
Line Creators Studio Android With Kotlin
 
4 Colors Othello’s Algorithm
4 Colors Othello’s Algorithm4 Colors Othello’s Algorithm
4 Colors Othello’s Algorithm
 
CodeIgniter 最新情報 2011 (増補版)
CodeIgniter 最新情報 2011 (増補版)CodeIgniter 最新情報 2011 (増補版)
CodeIgniter 最新情報 2011 (増補版)
 
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
 
Redmineをプラグインで拡張しよう
Redmineをプラグインで拡張しようRedmineをプラグインで拡張しよう
Redmineをプラグインで拡張しよう
 
ng-mtg#6 AngularJS ディレクティブ・パターン
ng-mtg#6 AngularJS ディレクティブ・パターンng-mtg#6 AngularJS ディレクティブ・パターン
ng-mtg#6 AngularJS ディレクティブ・パターン
 
GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方
 
Tokyor13 - YjdnJlpパッケージとTokyo.R翻訳プロジェクトの紹介
Tokyor13 - YjdnJlpパッケージとTokyo.R翻訳プロジェクトの紹介Tokyor13 - YjdnJlpパッケージとTokyo.R翻訳プロジェクトの紹介
Tokyor13 - YjdnJlpパッケージとTokyo.R翻訳プロジェクトの紹介
 
こんな辛いテストはいやだ
こんな辛いテストはいやだ こんな辛いテストはいやだ
こんな辛いテストはいやだ
 
ドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkinsドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkins
 
Klocworkのご紹介
Klocworkのご紹介Klocworkのご紹介
Klocworkのご紹介
 
mod_perlプログラマーがYAPCで語るレガシー開発論
mod_perlプログラマーがYAPCで語るレガシー開発論mod_perlプログラマーがYAPCで語るレガシー開発論
mod_perlプログラマーがYAPCで語るレガシー開発論
 

Mais de kyon mm

ICST2015 GUI Testingの紹介 #SIGSTJ
ICST2015 GUI Testingの紹介 #SIGSTJICST2015 GUI Testingの紹介 #SIGSTJ
ICST2015 GUI Testingの紹介 #SIGSTJ
kyon mm
 
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
kyon mm
 
@kyon_mmの書籍の読み方 #AsianAA
@kyon_mmの書籍の読み方 #AsianAA@kyon_mmの書籍の読み方 #AsianAA
@kyon_mmの書籍の読み方 #AsianAA
kyon mm
 

Mais de kyon mm (20)

Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016
 
Kaizen process with test #hackt
Kaizen process with test #hacktKaizen process with test #hackt
Kaizen process with test #hackt
 
ザ・ジェネラリスト #5000dai
ザ・ジェネラリスト #5000daiザ・ジェネラリスト #5000dai
ザ・ジェネラリスト #5000dai
 
ICST2015 GUI Testingの紹介 #SIGSTJ
ICST2015 GUI Testingの紹介 #SIGSTJICST2015 GUI Testingの紹介 #SIGSTJ
ICST2015 GUI Testingの紹介 #SIGSTJ
 
焦らず急いでの意味
焦らず急いでの意味焦らず急いでの意味
焦らず急いでの意味
 
Sta introduction in_kyoto #devkan
Sta introduction in_kyoto #devkanSta introduction in_kyoto #devkan
Sta introduction in_kyoto #devkan
 
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
 
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
 
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
 
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)
 
Gradle 2.2, 2.3 news #jggug
Gradle 2.2, 2.3 news #jggugGradle 2.2, 2.3 news #jggug
Gradle 2.2, 2.3 news #jggug
 
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpテストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jp
 
Groovyで学ぶプロセス代数 #jjug
Groovyで学ぶプロセス代数 #jjugGroovyで学ぶプロセス代数 #jjug
Groovyで学ぶプロセス代数 #jjug
 
テストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornightテストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornight
 
@kyon_mmの書籍の読み方 #AsianAA
@kyon_mmの書籍の読み方 #AsianAA@kyon_mmの書籍の読み方 #AsianAA
@kyon_mmの書籍の読み方 #AsianAA
 
GradleのREPLプラグイン紹介 #jggug
GradleのREPLプラグイン紹介 #jggugGradleのREPLプラグイン紹介 #jggug
GradleのREPLプラグイン紹介 #jggug
 
契る意味 #pykonjp2014
契る意味 #pykonjp2014契る意味 #pykonjp2014
契る意味 #pykonjp2014
 
いつでも聞けるTDD入門 #TDDBC_NAGOYA
いつでも聞けるTDD入門 #TDDBC_NAGOYAいつでも聞けるTDD入門 #TDDBC_NAGOYA
いつでも聞けるTDD入門 #TDDBC_NAGOYA
 
Test Retrospective #kyon_kao_wedding in Tokyo
Test Retrospective #kyon_kao_wedding in TokyoTest Retrospective #kyon_kao_wedding in Tokyo
Test Retrospective #kyon_kao_wedding in Tokyo
 
ソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumi
ソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumiソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumi
ソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumi
 

Último

Último (7)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

JenkinsとGitで実装するGatewayCheckIn Pattern #AsianAA