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