jenkins 再入門

62
Jenkins 再 Miyata Jumpei (@miyajan) Apr 20, 2016 #cybozu_ikyu

Upload: jumpei-miyata

Post on 06-Jan-2017

34.210 views

Category:

Technology


0 download

TRANSCRIPT

  • Jenkins

    Miyata Jumpei (@miyajan)

    Apr 20, 2016 #cybozu_ikyu

  • (@miyajan)

    550kg60kg

  • KAIZEN

  • Jenkins

    1jenkins

    159

    jenkins

  • Jenkins

    grep

    Git

    Jenkins

  • Jenkins

    GUI

    GUI

  • Jenkins

  • CI

  • yml

    CI/CD

  • Jenkins

    1

    cron

    etc.

  • Jenkins

  • Jenkins

  • Goal

    Jenkins

  • Release Line

    JenkinsRelease Line

    LTS Release

    31

    Weekly Release

    Jenkins

    LTS

  • master & slave

    master

    slave

    slave

    slave

    build

    build

    build

  • master & slave

    master

    SPOF

    slave

    scalabilityslave

    slave

    Windowsmac

    Docker

  • 11Jenkins

    SPOF

  • Jenkins

    masterDocker

    tag

    $ docker run \ -p 8080:8080 -p 50000:50000 \ -v /var/jenkins_home:/var/jenkins_home \ -v /etc/localtime:/etc/localtime:ro \ --env JAVA_OPTS=-Duser.timezone=Asia/Tokyo -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 \ --env JENKINS_OPTS=--sessionTimeout=1440 \ jenkins:1.642.4

  • masterslave

    ansible

  • or

  • JenkinsGUI

    GUI1

    DRYKISS

  • LinuxDocker

  • Docker Plugin

    CloudBees Docker Custom Build Environment Plugin

    Pipeline Plugin + CloudBees Docker Pipeline Plugin

  • Docker Plugin

    Dockerslave

    slave

  • CloudBees Docker Custom Build Environment Plugin Docker

    workspace/tmpmount

    Dockerfile

  • CloudBees

    Jenkins

    JenkinsCTO

    Jenkins Enterprise

    OSS

  • Pipeline Plugin

    DSL(Groovy)

    Workflow Plugin

    Build Pipeline PluginDelivery Pipeline Plugin

    Jenkins 2.0

  • Pipeline Plugin

    node { // Mark the code checkout 'stage'.... stage 'Checkout'

    // Get some code from a GitHub repository git url: 'https://github.com/jglick/simple-maven-project-with-tests.git'

    // Get the maven tool. // ** NOTE: This 'M3' maven tool must be configured // ** in the global configuration. def mvnHome = tool 'M3'

    // Mark the code build 'stage'.... stage 'Build' // Run the maven build sh "${mvnHome}/bin/mvn clean install" }

  • Jenkinsfile from SCM

  • Snippet Generator

  • Pipeline Stage View Plugin

  • CloudBees Docker Pipline Plugin Pipeline PluginDocker

    imagebuild & publish

  • CloudBees Docker Pipeline Plugindocker.image(maven:3.3.3-jdk-8).inside(-v /m2repo:/m2repo) { git 'your-sources' sh 'mvn -B clean install' }

  • Docker

    CloudBees Docker Custom Build Environment Plugin

    Jenkins 2.0

    Pipeline Plugin + CloudBees Docker Pipeline Plugin

  • Build-timeout Plugin

    or

  • Jenkins

    GUI

    Jenkins

  • One more thing

  • Jenkins 2.0

  • Jenkins 1.x

    2005 Hudson 1.0

    2011 forkJenkins 1.396

    2016 1.656

    111.x

  • Jenkins 1.x

    Continuous Delivery

    UI

    (jenkins-ci.org)

    6

    JenkinsCI

    http://jenkins-ci.org

  • Jenkins 2.0

    Pipeline as Code

    UI

    1.x

  • Pipeline as Code

    Pipeline Plugin

    Jenkins

    Stage, Human Input, Parallel

    Jenkins

    as Code

  • UI

  • jenkins.io

  • Roadmap

    02/29: alpha

    03/23: beta

    04/06: RC

    04/20: Release!

    :

    LTS Release

    1.x

  • Try 2.0!

    $ docker pull jenkinsci/jenkins:2.0-rc-1 $ docker run -p 8080:8080 -p 50000:50000 jenkinsci/jenkins:2.0-rc-1

  • Jenkins

    Jenkins

  • WE ARE HIRING!Jenkins

    http://cybozu.co.jp/company/job/recruitment/

  • Thanks!