51
Continuous Integration 2015, Leipzig

Continuous Integration @ MeetMagento Germany 2015

Embed Size (px)

Citation preview

Page 1: Continuous Integration @ MeetMagento Germany 2015

Continuous Integration

2015, Leipzig

Page 2: Continuous Integration @ MeetMagento Germany 2015

Aleksey Razbakov

Page 3: Continuous Integration @ MeetMagento Germany 2015

Our Team�

Page 4: Continuous Integration @ MeetMagento Germany 2015

How to give �to old big projects

second life?

Page 5: Continuous Integration @ MeetMagento Germany 2015
Page 6: Continuous Integration @ MeetMagento Germany 2015
Page 7: Continuous Integration @ MeetMagento Germany 2015

Why?

Page 8: Continuous Integration @ MeetMagento Germany 2015

Step by Step Guide �to Implement�Continuous Integration�in a Web Agency?

Page 9: Continuous Integration @ MeetMagento Germany 2015

How to start?

Page 10: Continuous Integration @ MeetMagento Germany 2015

Acceptance

Page 11: Continuous Integration @ MeetMagento Germany 2015

Acceptance

Page 12: Continuous Integration @ MeetMagento Germany 2015

Basics 1 2 3 4 5

Basics

Page 13: Continuous Integration @ MeetMagento Germany 2015

How to create builds?

Basics 1 2 3 4 5

Page 14: Continuous Integration @ MeetMagento Germany 2015

Jenkins is a �Simple Scheduler

Basics 1 2 3 4 5

Page 15: Continuous Integration @ MeetMagento Germany 2015

Jenkins Job

Basics 1 2 3 4 5

Page 16: Continuous Integration @ MeetMagento Germany 2015

Jenkins Job

Basics 1 2 3 4 5

Page 17: Continuous Integration @ MeetMagento Germany 2015

Phing

Basics 1 2 3 4 5

Page 18: Continuous Integration @ MeetMagento Germany 2015

Basics 1 2 3 4 5

Where to store files?

Page 19: Continuous Integration @ MeetMagento Germany 2015

Basics 1 2 3 4 5

Page 20: Continuous Integration @ MeetMagento Germany 2015

Basics 1 2 3 4 5

Where to store �the database?

3

Page 21: Continuous Integration @ MeetMagento Germany 2015

Phing: Nightly Backup

Basics 1 2 3 4 5

Page 22: Continuous Integration @ MeetMagento Germany 2015

Phing: Nightly Backup

Basics 1 2 3 4 5

Page 23: Continuous Integration @ MeetMagento Germany 2015

Phing: Build Anywhere

Basics 1 2 3 4 5

Page 24: Continuous Integration @ MeetMagento Germany 2015

Phing: Log Monitoring

Basics 1 2 3 4 5

Page 25: Continuous Integration @ MeetMagento Germany 2015

Basics 1 2 3 4 5

Do we need an Integration Server?

Page 26: Continuous Integration @ MeetMagento Germany 2015

Basics 1 2 3 4 5

Page 27: Continuous Integration @ MeetMagento Germany 2015

Basics 1 2 3 4 5

What are the benefits so far?

Page 28: Continuous Integration @ MeetMagento Germany 2015

Build anywhere

Fast, easy and reproducible release

Have backups every night

Monitor server

Basics 1 2 3 4 5

Page 29: Continuous Integration @ MeetMagento Germany 2015

Continuous Integration

Basics 1 2 3 4 5

Page 30: Continuous Integration @ MeetMagento Germany 2015

Basics 1 2 3 4 5

Page 31: Continuous Integration @ MeetMagento Germany 2015

Advanced 1 2 3 4 5

Advanced

Page 32: Continuous Integration @ MeetMagento Germany 2015

Advanced 1 2 3 4 5

Improve the Code?

Page 33: Continuous Integration @ MeetMagento Germany 2015

Coding Standards

Advanced 1 2 3 4 5

Page 34: Continuous Integration @ MeetMagento Germany 2015

Advanced 1 2 3 4

Will anyone follow it?

5

Page 35: Continuous Integration @ MeetMagento Germany 2015

Code Review

Advanced 1 2 3 4 5

Page 36: Continuous Integration @ MeetMagento Germany 2015

Automated Tests

Advanced 1 2 3 4 5

Page 37: Continuous Integration @ MeetMagento Germany 2015

Advanced 1 2 3 4 5

Is there a way to get �less bugs?

Page 38: Continuous Integration @ MeetMagento Germany 2015

Use maintainable modules

Advanced 1 2 3 4 5

Page 39: Continuous Integration @ MeetMagento Germany 2015

Automated Tests

Advanced 1 2 3 4 5

Page 40: Continuous Integration @ MeetMagento Germany 2015

Composer to link �everything together

Advanced 1 2 3 4 5

Page 41: Continuous Integration @ MeetMagento Germany 2015

Advanced 1 2 3 4 5

It takes time to �configure it on �

every developer PC, doesn’t it?

Page 42: Continuous Integration @ MeetMagento Germany 2015

Advanced 1 2 3 4 5

Page 43: Continuous Integration @ MeetMagento Germany 2015

Vagrantfile

Advanced 1 2 3 4 5

Page 44: Continuous Integration @ MeetMagento Germany 2015

Vagrant bootstrap

Advanced 1 2 3 4 5

Page 45: Continuous Integration @ MeetMagento Germany 2015

Advanced 1 2 3 4 5

How to organize �the process?

Page 46: Continuous Integration @ MeetMagento Germany 2015

Kanban Board

Advanced 1 2 3 4 5

Page 47: Continuous Integration @ MeetMagento Germany 2015

The benefits?

Page 48: Continuous Integration @ MeetMagento Germany 2015

Readable and maintainable code

Find and fix issues faster

Release updates to multiple projects easier and faster

Page 49: Continuous Integration @ MeetMagento Germany 2015
Page 50: Continuous Integration @ MeetMagento Germany 2015

Pac-Man or Robot?

Page 51: Continuous Integration @ MeetMagento Germany 2015

razbakov

Vagrant Development Box

Phing Builder

Aleksey Razbakov