Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Jenkins環境運用に関するSWETとしての取り組み
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Hisashi.Iguchi
January 31, 2020
Technology
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Jenkins環境運用に関するSWETとしての取り組み
Hisashi.Iguchi
January 31, 2020
More Decks by Hisashi.Iguchi
See All by Hisashi.Iguchi
Jenkins PipelineでのShared Librariesの活用
hisa9chi
0
1.2k
EC2 Mac インスタンスに入門してみた
hisa9chi
0
1.6k
20200805_Server版を見捨てないで_Cloud版の機能欲しいんです_.pdf
hisa9chi
0
430
MacStadium使ってみた
hisa9chi
1
2.9k
サポートは強力な味方
hisa9chi
2
560
Bitriseの社内提供へ
hisa9chi
6
6.7k
CircleCI first-step
hisa9chi
2
1.8k
Other Decks in Technology
See All in Technology
負債のメタファと2026年 / Debt Metaphor in Agentic Engineering Age 202609 Edition
twada
PRO
10
5.4k
2026-09-08 そのJavaモダナイゼーション、AIに丸投げで大丈夫?IBM Bobで変わる品質と効率
yutanonaka
1
130
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
25
17k
`t*(42&t>>10)`だけで音楽が鳴る、Swiftで実装するBytebeat / iOSDC Japan 2026
yutailang0119
0
130
その Lambda、8分で 管理者権限まで奪われます
k1nakayama
7
3.5k
安心して変更できるWebフロントエンドの作り方
pirosikick
5
2.9k
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
1
2.6k
ScotSecure West 2026 - Glasgow
raybugg
0
150
C#コードの結合を可視化する Roslyn解析による設計改善と リファクタリング判断
dora56
0
340
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
33
31k
AIエージェントの一手は 誰も見ていない - Falco拡張OSS「Prempti」とeBPFで サーバーレス実行基盤を二層防御する
keitah
0
480
Genieを崇めよ
kameitomohiro
0
170
Featured
See All Featured
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
900
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Become a Pro
speakerdeck
PRO
31
6.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
280
For a Future-Friendly Web
brad_frost
183
10k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
Typedesign – Prime Four
hannesfritz
42
3.2k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
340
The Mindset for Success: Future Career Progression
greggifford
PRO
0
510
Ethics towards AI in product and experience design
skipperchong
2
380
Transcript
Jenkins 2'06:3< SWET # 7 GDM vol.40 %")! Jenkins
0,:3@DeNA Fri. Jan. 31, 2020 $ +* .; &98-; &951; SWET /(!4
*) • $ • 1Hisashi Iguchi2@hisa9chi • •
#( SWET Gr. • • * /' • CI/CD %&.0-!+," • % • CircleCI Japan User Group Community Leaders 2
3 SWET Jenkins SWET 1 4
2 3
4 SWET Jenkins SWET 1 4
2 3
SoftWare Engineer in Test c.f.> Google SET
5 4 3 2 1
6 MISSION 1) • DeNA#/ %0$ • DeNA 2-+,&$
!"*.(' VISION MAKE TESTING FUN, SMART, AND DELIGHTING END-USERS 4 3 2 1
Make Testing Fun, Smart, and Delighting End-Users • Fun •
'2&# • Smart • .-9 * 15/7 • "( !)1 48 • Delighting End-Users • ' $(% 3 ,:60' +) 7 4 3 2 1
8 ! ! https://swet.dena.com/about 4 3 2 1
9 SWET Jenkins SWET 1 4
2 3
• • iOS • Android • OS
• Linux (Ubuntu) • macOS • • Unity 10 1 4 3 2
Jenkins *4 • :! "%51+/6 • &#-8(3 •
$7.'3 • *4&$ • Xcode 4 $ • iOS,0)3 macOS "%/6 • &#%% Unity *4 • Unity Cloud Build 7.9 62%" 11 1 4 3 2
Jenkins ', • &', • +& • '$ •
& master '$! • macOS () 12 1 4 3 2 Jenkins master -*"% .#
Jenkins 37 • .> • & 1 .)37 •
45!&.= • ,:'% &'% • Jenkins / Xcode / Unity / Android NDK • %# (-)(6; • /+9 % • Jenkins 378?9 or 18?9 13 1 4 3 2 "3-8?9 $& or <2*0
Jenkins E< • $!,2 #'' • 1A "' F0,2 •
&*>/8 • C ,2 • . plugin ')& • slave #'' • 6 1A )&3-')& • $! %)=;7 SSH4? D9(B: • slave @+5G 14 1 4 3 2
Jenkins ! • slave • " •
" • # • ! • " 15 1 4 3 2 Jenkins master macOS agent Jenkins master macOS agent Jenkins master macOS agent macOS agent !
16 1 4 3
2
U :Z • +"/Q2WK!$'D • master / slave /*.
• MT9KAN5KB @S • Jenkins plugin OJ • #,)OJ;Y • Jenkinsfile G$&- WebUI#,)3C • Plugin =6 >HOJ9P ?7 • 4#,)I 8K1F • XL(0%VR #,)E< OJ;Y 17 1 4 3 2
D ,G • slave 9=.3> • " 5F#&C: slave 7B&$%&$
• " 7BE*8<1 slave +( 18 1 4 3 2 Jenkins master macOS agent macOS agent !%% !%%; ?'4/ <1 slave +(" A60- 2@)
D 1H • slave E.9" • $#'0 ,47/"2G • 8F=
slave <3?)65@(&;- 5@ • *A 19 1 4 3 2 Jenkins master macOS agent macOS agent ① C: macOS agent ② " ③ %!/+>B
B 'G • 04'G • Jenkins ,/7 !( 78
E; • Jenkins master / slave "2.D <9 • =$ -3)61 "F • =$: %B& • A?'G • 'G • F5*C'G • *C >8# +@ 20 1 4 3 2
21 SWET ! 1 4
3 2
22 SWET Jenkins SWET 1 4
2 3
!. 1. Jenkins )% • master / slave )%$/ •
master / slave(Linux) cloud *+ 2. 1 • Jenkins master 1 • slave 1)-4Linux / macOS5 • ,3#( 3. & • Unity + iOS / Android & 23 1 2 4 3 2' *+"0
24 1. Jenkins 1 2 4 3
Jenkins • • master - slave slave
25 1 2 4 3 macOS agent Linux agent Jenkins master macOS agent Persistent Disk GCP JNLP
Jenkins " • • master - slave 'slave#( 26
1 2 4 3 ! JNLP macOS agent macOS agent ! %&$ Jenkins master Persistent Disk Linux agent GCP
Jenkins • • master - slave slave 27
1 2 4 3 Linux agent Jenkins master Persistent Disk GCP JNLP macOS agent macOS agent OS update
Jenkins • • master - slave slave
28 1 2 4 3 macOS agent Linux agent Jenkins master macOS agent Persistent Disk GCP JNLP
Jenkins • • master - slave #slave
$ 29 1 2 4 3 macOS agent Linux agent Jenkins master macOS agent Persistent Disk GCP JNL P " !
30 " # ! 1 2
4 3
31 2. 1 2 4 3
master ' % • • ubuntu: GCP Terraform
# • Jenkins • Ansible • # • https://github.com/Kuniwak/jenkins-plugin-fixator "# • $(# influxDB / Telegraf / Chronograf / Kapacitor • / • GCP !&"# 32 1 2 4 3
slave /!%- • # • macOS: &' mac
mini *3. • ubuntu: GCP Terraform (# • • Ansible • +"1 • Unity / Xcode / Android NDK 0$ • slave ,' • )2( Telegraf 33 1 2 4 3
slave /!%- • # • macOS: &' mac
mini *3. • ubuntu: GCP Terraform (# • • Ansible • +"1 • Unity / Xcode / Android NDK 0$ • slave ,' • )2( Telegraf 34 1 2 4 3 # for rbenv role install_ruby_versions: - 2.4.5 - 2.5.1 - 2.6.1 global_ruby_version: 2.5.1 # for xcode role xcode_clean: true xcode_versions: - '10.1' default_xcode_version: '10.1' # for android role android_versions: - 25 - 26 - 27 - 28 build_tools_versions: - 25.0.3 - 26.0.2 - 27.0.3 - 28.0.3 # for unity role unity_versions: - 2018.3.3f1 # for jenkins_slave jenkins_slave_name: 'o-12778-mac' jenkins_slave_secret: !vault | $ANSIBLE_VAULT;1.1;AES256 3932356633663834333631663634353731656
slave #' • ) • +! ,
) • *"% *( • https://plugins.jenkins.io/app-detector $& 35 1 2 4 3
slave IA • $" 9G#$"$ • ?C; *A Ansible 2F
• slave B@#$"!<9(2F • #$"!<946%/E 10 • 8,#$" -> &>'3 #- • 5 Ansible .: • D746 =) Ansible H+ 36 1 2 4 3
37 3. 1 2 4 3
Jenkins pipeline % #!/' • "#% #! • %
#*9 3-2)56 • +8 0 .172)56 • (;4: Jenkins Shared Library /' • "<,& $& 38 1 2 4 3
39 Jenkins 1 2 4
3
40 1 2 4 3
41 1 2 4 3
42 TASK [xcode : Install Xcode (NOTE: This task take
a long time. And, it doesn‘t work when Two-Factor Authentication is enable. If you want to check progress, do `sudo tail -f /private/var/root/Library/Caches/XcodeInstall/progress.*`)] *** failed: [unity-macos-1014] (item=11.1) => changed=true cmd: - /var/root/.gem/ruby/2.5.0/bin/xcversion - install - ’11.1’ delta: ‘0:14:18.084891’ end: ‘2019-12-15 20:05:30.908344’ item: ‘11.1’ msg: non-zero return code 1 2 4 3
Ansible Playbook !/' • Xcode Unity ! ! • Xcode
• !$, xcode-install 0' • !.#)* • Unity • !(+ • !1 Unity Hub (+ • !! • brew java8 % ruby !"&- 43 1 2 4 3
44 CI 1 2 4 3
Ansible Playbook &" • OS Vagrant Box( )
• '$ • Test Kitchen ! • -> Ansible Playbook $ -> % # $ 45 1 2 4 3
46 SWET Jenkins SWET 1 4
2 3
) 1. ( 1. %& 2. Jenkins
CI*" 2. +' $ !# 47 1 2 3 4
48 1. 1 2 3 4
1 2 3 #47 • # ,< 30 • macOS
?56" # 47 • MacStadium • CI# 47 • Jenkins % # 47 • Bitirse • !# Unity #=8 +;@ https://blog.bitrise.io/bitrise-in-2019-a-roadmap-preview .: /-1& *($ • CircleCI • #' >92)47,< 49 4
Jenkins 50 macOS agent Linux agent Jenkins master
macOS agent GCS GCP MacStadium macOS agent 1 2 3 4 macOS agent macOS agent Linux agent Cloud CI Bitrise CircleCI
Jenkins 51 Linux agent Jenkins master GCS GCP
MacStadium macOS agent 1 2 3 4 macOS agent macOS agent Linux agent Cloud CI Bitrise CircleCI macOS agent macOS agent PR
Jenkins 52 macOS agent Linux agent Jenkins master macOS
agent GCS GCP 1 2 3 4 Linux agent Cloud CI Bitrise CircleCI MacStadium macOS agent macOS agent macOS agent cron
Jenkins 53 macOS agent Linux agent Jenkins master macOS
agent GCS GCP MacStadium macOS agent 1 2 3 4 macOS agent macOS agent Linux agent Cloud CI Bitrise CircleCI
Jenkins 54 macOS agent Linux agent Jenkins master
macOS agent GCS GCP MacStadium macOS agent 1 2 3 4 macOS agent macOS agent Linux agent Cloud CI Bitrise CircleCI
55 2. 1 2 3 4
1 2 3 CI>/ C9JE67D,K • #' "): C9 5G-
• #'#H@") • Unity Cloud Build Bitrise % )!,1 82 • !& 4I) 0 • αβH@") • % )!<=>/*3;?82 • F?") • % )!<=>/*3;?82 • $( +BH@.A82 56 4
57
• .(OH P0 Jenkins B<K7BJ • Terraform /
Ansible DG • macOS 28 GCP/ BJ • Jenkins B< ?6DG4 -&,)% =5 • BJG +&"*.>@AI • CI 73AM • 1:*#.$ DG .*$+!Q • N9;L -> EF'- • N9 C -> *#.$ 58
59 End.