Travis, Circle そして Jenkins 2.0

59
Travis, Circle, Jenkins 2.0 a.k.a @Posaune

Transcript of Travis, Circle そして Jenkins 2.0

Page 1: Travis, Circle そして Jenkins 2.0

Travis, Circle, Jenkins 2.0

a.k.a @Posaune

Page 2: Travis, Circle そして Jenkins 2.0

• a.k.a @Posaune

• Window

ALM

Page 3: Travis, Circle そして Jenkins 2.0
Page 4: Travis, Circle そして Jenkins 2.0
Page 5: Travis, Circle そして Jenkins 2.0
Page 6: Travis, Circle そして Jenkins 2.0

ALM

• Application Lifecycle Management • •

Page 7: Travis, Circle そして Jenkins 2.0
Page 8: Travis, Circle そして Jenkins 2.0

ALM

• • CI iOS

• E2E

http://www.slideshare.net/Posaune/jenkinsci-50411288

Page 9: Travis, Circle そして Jenkins 2.0
Page 10: Travis, Circle そして Jenkins 2.0

Agenda

• Jenkins

• Jenkins CI Service

• Jenkins 1.0 CI Service

• Jenkins 2.0

• CI

Page 11: Travis, Circle そして Jenkins 2.0

Agenda

• Jenkins

• Jenkins CI Service

• Jenkins 1.0 CI Service

• Jenkins 2.0

• CI

Page 12: Travis, Circle そして Jenkins 2.0

Jenkins

• • • • 10

• Master / Slave

• • •

Page 13: Travis, Circle そして Jenkins 2.0

Jenkins =

• Jenkins

• • Jenkins

Page 14: Travis, Circle そして Jenkins 2.0

• •

Git

• ChatBot

• • Jenkins Jenkins

Page 15: Travis, Circle そして Jenkins 2.0

Jenkins

Page 16: Travis, Circle そして Jenkins 2.0

Jenkins

Page 17: Travis, Circle そして Jenkins 2.0
Page 18: Travis, Circle そして Jenkins 2.0

Jenkins

• Jenkins

cron

Page 19: Travis, Circle そして Jenkins 2.0

Jenkins

☑ Jenkins

☑ Job

☑Jenkins

Page 20: Travis, Circle そして Jenkins 2.0

Jenkins

• Jenkins

• Jenkins

Jenkins

Page 21: Travis, Circle そして Jenkins 2.0

http://www.slideshare.net/Posaune/agile-tourosaka

Page 22: Travis, Circle そして Jenkins 2.0

• CI

• Jenkins

• Jenkins

• Jenkins

Page 23: Travis, Circle そして Jenkins 2.0

Agenda

• Jenkins

• Jenkins CI Service

• Jenkins 1.0 CI Service

• Jenkins 2.0

• CI

Page 24: Travis, Circle そして Jenkins 2.0

Jenkins

• Github

CI

Page 25: Travis, Circle そして Jenkins 2.0

CI (as a) Service

• • Github

Page 26: Travis, Circle そして Jenkins 2.0

• TravisCI CircleCI

• CI

• CI

• CI

Page 27: Travis, Circle そして Jenkins 2.0

CI as a Service

• VM

• GUI

YAML )

• Github Heroku

Page 28: Travis, Circle そして Jenkins 2.0

CI as a Service

• Fresh

• YAML

Page 29: Travis, Circle そして Jenkins 2.0

CircleCImachine: timezone: America/Los_Angeles ruby: version: 1.9.3-p0-falcon services: - postgres - elasticsearch

dependencies: override: - npm install

test: post: - bundle exec rake spinach: environment: RAILS_ENV: test

Page 30: Travis, Circle そして Jenkins 2.0

CircleCImachine: timezone: America/Los_Angeles ruby: version: 1.9.3-p0-falcon services: - postgres - elasticsearch

dependencies: override: - npm install

test: post: - bundle exec rake spinach: environment: RAILS_ENV: test

Page 31: Travis, Circle そして Jenkins 2.0

CircleCImachine: timezone: America/Los_Angeles ruby: version: 1.9.3-p0-falcon services: - postgres - elasticsearch

dependencies: override: - npm install

test: post: - bundle exec rake spinach: environment: RAILS_ENV: test

Page 32: Travis, Circle そして Jenkins 2.0

CircleCImachine: timezone: America/Los_Angeles ruby: version: 1.9.3-p0-falcon services: - postgres - elasticsearch

dependencies: override: - npm install

test: post: - bundle exec rake spinach: environment: RAILS_ENV: test

Page 33: Travis, Circle そして Jenkins 2.0

CircleCI

Page 34: Travis, Circle そして Jenkins 2.0

• CI Service

• Jenkins

• VM

Page 35: Travis, Circle そして Jenkins 2.0

Agenda

• Jenkins

• Jenkins CI Service

• Jenkins 1.0 CI Service

• Jenkins 2.0

• CI

Page 36: Travis, Circle そして Jenkins 2.0

Jenkins

• Jenkins1.0

• Jenkins1.0 Jenkins

• Jenkins1.0 Jenkins

Page 37: Travis, Circle そして Jenkins 2.0

Jenkins

• Jenkins1.0

• Jenkins1.0 Jenkins

• Jenkins1.0 Jenkins

Page 38: Travis, Circle そして Jenkins 2.0

Jenkins

• Jenkins1.0

• Jenkins1.0 Jenkins

• Jenkins1.0 Jenkins

Page 39: Travis, Circle そして Jenkins 2.0

Jenkins

• Jenkins1.0

• Jenkins1.0 Jenkins

• Jenkins1.0 Jenkins

=

=

Page 40: Travis, Circle そして Jenkins 2.0

2

Page 41: Travis, Circle そして Jenkins 2.0

CI as a Service

=

• : cron

=

Page 42: Travis, Circle そして Jenkins 2.0

Agenda

• Jenkins

• Jenkins CI Service

• Jenkins 1.0 CI Service

• Jenkins 2.0

• CI

Page 43: Travis, Circle そして Jenkins 2.0

Jenkins 2.0

• Pipeline Jenkinsfile

Page 44: Travis, Circle そして Jenkins 2.0

• Jenkins

Pipeline DSL

Page 45: Travis, Circle そして Jenkins 2.0

Pipeline Jenkinsfile

• Workflow

• CI Service

• Docker Pipline Plugin

Page 46: Travis, Circle そして Jenkins 2.0

Jenkinsfile

node ('linux'){ stage 'Build and Test' env.PATH = "${tool 'Maven 3'}/bin:${env.PATH}" checkout scm sh 'mvn clean package' }

Page 47: Travis, Circle そして Jenkins 2.0

Jenkinsfile

node ('linux'){ stage 'Build and Test' env.PATH = "${tool 'Maven 3'}/bin:${env.PATH}" checkout scm sh 'mvn clean package' }

Page 48: Travis, Circle そして Jenkins 2.0

Jenkinsfile

node ('linux'){ stage 'Build and Test' env.PATH = "${tool 'Maven 3'}/bin:${env.PATH}" checkout scm sh 'mvn clean package' }

Page 49: Travis, Circle そして Jenkins 2.0

Jenkinsfile with Docker

node('linux') { def maven = docker.image('maven:latest') maven.pull() maven.inside { git '…your-sources…' sh 'mvn -B -s settings.xml clean install' } }

Page 50: Travis, Circle そして Jenkins 2.0

Jenkinsfile with Docker

node('linux') { def maven = docker.image('maven:latest') maven.pull() maven.inside { git '…your-sources…' sh 'mvn -B -s settings.xml clean install' } }

Page 51: Travis, Circle そして Jenkins 2.0

Jenkinsfile with Docker

node('linux') { def maven = docker.image('maven:latest') maven.pull() maven.inside { git '…your-sources…' sh 'mvn -B -s settings.xml clean install' } }

Page 52: Travis, Circle そして Jenkins 2.0

• Jenkins

• Pipeline

• Pipeline + Docker VM

CI Service

Page 53: Travis, Circle そして Jenkins 2.0

Agenda

• Jenkins

• Jenkins CI Service

• Jenkins 1.0 CI Service

• Jenkins 2.0

• CI

Page 54: Travis, Circle そして Jenkins 2.0

CI Service

• OSS Private

• SPoF

• CI Service

Page 55: Travis, Circle そして Jenkins 2.0

Jenkins 2.0

• CI Service

Jenkins 2.0

• Docker

LT

• CI

Page 56: Travis, Circle そして Jenkins 2.0

CI

• Jenkins 2.0 Docker Pipeline

• Docker Swarm

• Windows

• Mac…iOS … …

• Mac Mac mini

Page 57: Travis, Circle そして Jenkins 2.0

• Jenkins

• CI Service Jenkins 2.0

• CI Service / /

CI / CD

Page 58: Travis, Circle そして Jenkins 2.0

• @Posaune

Page 59: Travis, Circle そして Jenkins 2.0

Enjoy, Jenkins 2.0 and CI/CD!!