Travis, Circle そして Jenkins 2.0
-
Upload
hiroshi-maekawa -
Category
Technology
-
view
1.174 -
download
2
Transcript of Travis, Circle そして Jenkins 2.0
Travis, Circle, Jenkins 2.0
a.k.a @Posaune
• a.k.a @Posaune
• Window
ALM
ALM
• Application Lifecycle Management • •
•
ALM
• • CI iOS
• E2E
http://www.slideshare.net/Posaune/jenkinsci-50411288
Agenda
• Jenkins
• Jenkins CI Service
• Jenkins 1.0 CI Service
• Jenkins 2.0
• CI
Agenda
• Jenkins
• Jenkins CI Service
• Jenkins 1.0 CI Service
• Jenkins 2.0
• CI
Jenkins
• • • • 10
• Master / Slave
• • •
Jenkins =
• Jenkins
• • Jenkins
• •
Git
• ChatBot
• • Jenkins Jenkins
Jenkins
Jenkins
Jenkins
• Jenkins
cron
•
•
Jenkins
☑ Jenkins
☑
☑ Job
☑Jenkins
Jenkins
•
• Jenkins
• Jenkins
Jenkins
•
•
http://www.slideshare.net/Posaune/agile-tourosaka
• CI
•
• Jenkins
• Jenkins
• Jenkins
Agenda
• Jenkins
• Jenkins CI Service
• Jenkins 1.0 CI Service
• Jenkins 2.0
• CI
Jenkins
• Github
•
CI
CI (as a) Service
• • Github
•
• TravisCI CircleCI
• CI
• CI
• CI
CI as a Service
• VM
• GUI
YAML )
• Github Heroku
CI as a Service
• Fresh
•
• YAML
•
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
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
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
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
CircleCI
• CI Service
• Jenkins
• VM
•
•
Agenda
• Jenkins
• Jenkins CI Service
• Jenkins 1.0 CI Service
• Jenkins 2.0
• CI
Jenkins
• Jenkins1.0
• Jenkins1.0 Jenkins
• Jenkins1.0 Jenkins
Jenkins
• Jenkins1.0
• Jenkins1.0 Jenkins
• Jenkins1.0 Jenkins
Jenkins
• Jenkins1.0
• Jenkins1.0 Jenkins
• Jenkins1.0 Jenkins
Jenkins
• Jenkins1.0
• Jenkins1.0 Jenkins
• Jenkins1.0 Jenkins
=
=
2
•
•
CI as a Service
•
=
• : cron
=
Agenda
• Jenkins
• Jenkins CI Service
• Jenkins 1.0 CI Service
• Jenkins 2.0
• CI
Jenkins 2.0
•
• Pipeline Jenkinsfile
• Jenkins
•
•
Pipeline DSL
Pipeline Jenkinsfile
• Workflow
• CI Service
• Docker Pipline Plugin
Jenkinsfile
node ('linux'){ stage 'Build and Test' env.PATH = "${tool 'Maven 3'}/bin:${env.PATH}" checkout scm sh 'mvn clean package' }
Jenkinsfile
node ('linux'){ stage 'Build and Test' env.PATH = "${tool 'Maven 3'}/bin:${env.PATH}" checkout scm sh 'mvn clean package' }
Jenkinsfile
node ('linux'){ stage 'Build and Test' env.PATH = "${tool 'Maven 3'}/bin:${env.PATH}" checkout scm sh 'mvn clean package' }
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' } }
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' } }
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' } }
• Jenkins
• Pipeline
• Pipeline + Docker VM
CI Service
Agenda
• Jenkins
• Jenkins CI Service
• Jenkins 1.0 CI Service
• Jenkins 2.0
• CI
CI Service
•
• OSS Private
• SPoF
• CI Service
Jenkins 2.0
• CI Service
Jenkins 2.0
• Docker
LT
• CI
CI
• Jenkins 2.0 Docker Pipeline
• Docker Swarm
• Windows
• Mac…iOS … …
• Mac Mac mini
• Jenkins
• CI Service Jenkins 2.0
• CI Service / /
CI / CD
•
•
•
• @Posaune
Enjoy, Jenkins 2.0 and CI/CD!!