INTEGRATE CONTINUOUSLY

THEORY

HISTORY

1991, Booch menthod integrating introduced

1994, Analysis and design with apps

1997, Extreme programming

1998, Face to face

1999, Book

2001

BENEFITS

Integration bugs detected early

Avoids chaos at release dates

Availability of a "current" build

Reducing overheads

Reverting small number changes

Automating processes

Instant feedback on local changes

Analyzing and reporting

Increases confidence

BEST PRACTICES

Maintain a code repository

Automate the build

Make the build self-testing

Commits to the baseline daily

Every commit should be built

Keep the build fast

Test in a clone of the prod env

Every see the latest results

Automate deployment

PRACTICE

ENVIRONMENT

Java

Jenkins

Node

Virtual Machine

Vagrant

Git

Code Editor

Browser

Terminal

CONFIGURATION

https://github.com/stremann/vagrant-jenkins-node

# Vagrantfile API/syntax version.
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  # Every Vagrant virtual environment requires a box to build off of.
  config.vm.box = "puphpet/debian75-x64"

  # Publish guest port 6060 on host port 6060
  config.vm.network "forwarded_port", guest: 6060, host: 6060

  config.vm.provider "virtualbox" do |vb|

  # Use VBoxManage to customize the VM. For example to change memory:
    vb.customize ["modifyvm", :id, "--memory", "1024"]
  end

  # Provision the box using a shell script
  config.vm.provision :shell, :privileged => true, :path => "provision.sh"

end

BOOTSTRAP

vagrant up

localhost:6060

vagrant ssh

sudo cat password

GETTING STARTED

MANAGE ACCOUNT

INSTALL PLUGINS

GitHub

Clover

Checkstyle

TAP

Build Status

NodeJS

GITHUB INTEGRATION

NODE INSTALLATION

BOOTSTRAP PROJECT

https://github.com/stremann/jenkins-example

COFIGURE REPORT

ANALYTIC REPORT

KEEP GOING

Integrate Continuosly

By Roman Stremedlovskyi

Integrate Continuosly

Continuous Integration in JavaScript projects

  • 1,300