Upload
aleksey-razbakov
View
322
Download
0
Tags:
Embed Size (px)
Citation preview
Continuous Integration
2015, Leipzig
Aleksey Razbakov
Our Team�
How to give �to old big projects
second life?
Why?
Step by Step Guide �to Implement�Continuous Integration�in a Web Agency?
How to start?
Acceptance
Acceptance
Basics 1 2 3 4 5
Basics
How to create builds?
Basics 1 2 3 4 5
Jenkins is a �Simple Scheduler
Basics 1 2 3 4 5
Jenkins Job
Basics 1 2 3 4 5
Jenkins Job
Basics 1 2 3 4 5
Phing
Basics 1 2 3 4 5
Basics 1 2 3 4 5
Where to store files?
Basics 1 2 3 4 5
Basics 1 2 3 4 5
Where to store �the database?
3
Phing: Nightly Backup
Basics 1 2 3 4 5
Phing: Nightly Backup
Basics 1 2 3 4 5
Phing: Build Anywhere
Basics 1 2 3 4 5
Phing: Log Monitoring
Basics 1 2 3 4 5
Basics 1 2 3 4 5
Do we need an Integration Server?
Basics 1 2 3 4 5
Basics 1 2 3 4 5
What are the benefits so far?
Build anywhere
Fast, easy and reproducible release
Have backups every night
Monitor server
Basics 1 2 3 4 5
Continuous Integration
Basics 1 2 3 4 5
Basics 1 2 3 4 5
Advanced 1 2 3 4 5
Advanced
Advanced 1 2 3 4 5
Improve the Code?
Coding Standards
Advanced 1 2 3 4 5
Advanced 1 2 3 4
Will anyone follow it?
5
Code Review
Advanced 1 2 3 4 5
Automated Tests
Advanced 1 2 3 4 5
Advanced 1 2 3 4 5
Is there a way to get �less bugs?
Use maintainable modules
Advanced 1 2 3 4 5
Automated Tests
Advanced 1 2 3 4 5
Composer to link �everything together
Advanced 1 2 3 4 5
Advanced 1 2 3 4 5
It takes time to �configure it on �
every developer PC, doesn’t it?
Advanced 1 2 3 4 5
Vagrantfile
Advanced 1 2 3 4 5
Vagrant bootstrap
Advanced 1 2 3 4 5
Advanced 1 2 3 4 5
How to organize �the process?
Kanban Board
Advanced 1 2 3 4 5
The benefits?
Readable and maintainable code
Find and fix issues faster
Release updates to multiple projects easier and faster
Pac-Man or Robot?
razbakov
Vagrant Development Box
Phing Builder
Aleksey Razbakov