61
(@miyajan) Cybozu Tech Conference 2016 CI, Browser Test, Tools and Infrastructure

開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

Embed Size (px)

Citation preview

Page 1: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

(@miyajan)

Cybozu Tech Conference 2016

CI, Browser Test, Tools and Infrastructure

Page 2: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

• @miyajan

• 2009

• Garoon

• kintone

• 2015

• Jenkins

• Selenium

Page 3: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

Agenda

• CI

• DNS

Page 4: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
Page 5: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

Background

Page 6: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

• 2015 8

• 1

Page 7: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

Page 8: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
Page 9: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

CI

Page 10: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

CI

• Jenkins

Page 11: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

Jenkins

• Jenkins

Page 12: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

CI

• …

• Jenkins

Page 13: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

Jenkins

• 1 Jenkins

• Jenkins

Page 14: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

1 1Jenkins

Page 15: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

• Jenkins GUI

• grep

Page 16: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

• GitHub

• GUI 1

Page 17: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

CI

• Jenkins

• CI

Page 18: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
Page 19: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

• Selenium

• 1,000

• 40

• 1 10

Page 20: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

• 40

Page 21: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

Google Cloud Platform

• GCP Google Compute Engine

• 10

• AWS 1

• Snapshot CI /

Page 22: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

Jenkins 試験環境gcloud

instance

snapshotから作成

Seleniumテスト実⾏ ブラウザからアクセス

Selenium Grid

Page 23: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

• GCP

• SauceLabs TaaS

Page 24: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

DNS

Page 25: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

DNS

• VM DNS

Page 26: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

DNS

• DNS

• kintone DNS

• DNS

• 1 100

Page 27: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
Page 28: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

HTTPS

• HTTPS

• HTTPS

• iOS HTTPS

• SAML

Page 29: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

DNS https

• Reverse Proxy

• Reverse Proxy nginx

• Client Reverse Proxy HTTPS

• Reverse Proxy Server HTTP

• Server

Page 30: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
Page 31: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
Page 32: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
Page 33: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

DNS

• DNS

• DNS

• HTTPS

Page 34: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
Page 35: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

• VerUP

Page 36: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

Page 37: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

• GitHub Enterprise

• GHE

Page 38: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

github.com

• private organization

• OAuth

Page 39: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

Wiki

• Confluence

• markdown

• markdown

wysiwig

Page 40: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

GitHub Wiki

• markdown

Page 41: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

CI

• Jenkins

• Jenkins

Page 42: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

CircleCI

• cron

• https://circleci.com/docs/nightly-builds/

Page 43: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

• E-mail

Page 44: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

Slack

• Slack

• bot

Page 45: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

Slack Bot

• AWS

Page 46: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

Page 47: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

codecov

• coveralls

Page 48: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
Page 49: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
Page 50: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
Page 51: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
Page 52: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

• 1

Page 53: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

VersionEye

Page 54: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
Page 55: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
Page 56: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

• AD

• GitHub OAuth GitHub

• GitHub

Page 57: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

• 1

Page 58: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-
Page 59: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

• CI

• DNS

Page 60: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

appendix

• Jenkins

• Selenium Grid Google Cloud Platform

• Distributed Selenium Testing with Google Compute Engine

• HTTPS kintone × nginx

Page 61: 開発者を支える生産性向上チームの取り組み -CI, Browser Test, Tools and Infrastructure-

Questions?