Introduction to continuous integration 2014
-
Upload
herve-roussel -
Category
Technology
-
view
161 -
download
1
description
Transcript of Introduction to continuous integration 2014
![Page 1: Introduction to continuous integration 2014](https://reader034.fdocuments.us/reader034/viewer/2022042613/54b6b10c4a79597b0c8b45cb/html5/thumbnails/1.jpg)
Introduction to Continuous Integration
How I Learned to Stop Worrying and Love the Bugs
![Page 2: Introduction to continuous integration 2014](https://reader034.fdocuments.us/reader034/viewer/2022042613/54b6b10c4a79597b0c8b45cb/html5/thumbnails/2.jpg)
2007: Linked Senior
![Page 3: Introduction to continuous integration 2014](https://reader034.fdocuments.us/reader034/viewer/2022042613/54b6b10c4a79597b0c8b45cb/html5/thumbnails/3.jpg)
RELEASE EARLY,
RELEASEOFTEN
![Page 4: Introduction to continuous integration 2014](https://reader034.fdocuments.us/reader034/viewer/2022042613/54b6b10c4a79597b0c8b45cb/html5/thumbnails/4.jpg)
![Page 5: Introduction to continuous integration 2014](https://reader034.fdocuments.us/reader034/viewer/2022042613/54b6b10c4a79597b0c8b45cb/html5/thumbnails/5.jpg)
Super Star Developer
![Page 6: Introduction to continuous integration 2014](https://reader034.fdocuments.us/reader034/viewer/2022042613/54b6b10c4a79597b0c8b45cb/html5/thumbnails/6.jpg)
Stressful Releases
![Page 7: Introduction to continuous integration 2014](https://reader034.fdocuments.us/reader034/viewer/2022042613/54b6b10c4a79597b0c8b45cb/html5/thumbnails/7.jpg)
Sudden Clarity
![Page 8: Introduction to continuous integration 2014](https://reader034.fdocuments.us/reader034/viewer/2022042613/54b6b10c4a79597b0c8b45cb/html5/thumbnails/8.jpg)
Deployment Pipeline
GitLib Repo
1. Clean 2. Checkout 3. Download libs 4. Compile
5. Package 6. Setup DB 7. Run Tests 8. Deploy
Local Web Server
Local DB Server
![Page 9: Introduction to continuous integration 2014](https://reader034.fdocuments.us/reader034/viewer/2022042613/54b6b10c4a79597b0c8b45cb/html5/thumbnails/9.jpg)
$ compile *.*
$ zip myapp.zip
$ scp_upload myapp.zip
Step 1: Automate Build
![Page 10: Introduction to continuous integration 2014](https://reader034.fdocuments.us/reader034/viewer/2022042613/54b6b10c4a79597b0c8b45cb/html5/thumbnails/10.jpg)
Step 2: Automate Tests
create_user(username, password)
user = login(username, password)
assert user != null
![Page 11: Introduction to continuous integration 2014](https://reader034.fdocuments.us/reader034/viewer/2022042613/54b6b10c4a79597b0c8b45cb/html5/thumbnails/11.jpg)
Less Stressful Releases
![Page 12: Introduction to continuous integration 2014](https://reader034.fdocuments.us/reader034/viewer/2022042613/54b6b10c4a79597b0c8b45cb/html5/thumbnails/12.jpg)
1. Before demo/release2. When we have time3. Every week4. Every day5. Other
When should we run tests?
1. Before demo/release2. When we have time3. Every week4. Every day5. Other: every time you commit
![Page 13: Introduction to continuous integration 2014](https://reader034.fdocuments.us/reader034/viewer/2022042613/54b6b10c4a79597b0c8b45cb/html5/thumbnails/13.jpg)
Step 3: CI Server
GitLib Repo
1. Clean 2. Checkout 3. Download libs 4. Compile
5. Package 6. Setup DB 7. Run Tests 8. Deploy
Local Web Server
Local DB Server
![Page 14: Introduction to continuous integration 2014](https://reader034.fdocuments.us/reader034/viewer/2022042613/54b6b10c4a79597b0c8b45cb/html5/thumbnails/14.jpg)
3.Email report
CI ServerBuild, run, test
1. Clean 2. Checkout3. Download
libs4. Compile
5. Package 6. Push 7. Setup DB8. Run Tests
2.Committrigger
Git
1.CommitStep 3: CI Server
![Page 15: Introduction to continuous integration 2014](https://reader034.fdocuments.us/reader034/viewer/2022042613/54b6b10c4a79597b0c8b45cb/html5/thumbnails/15.jpg)
Jenkins Demo!
![Page 16: Introduction to continuous integration 2014](https://reader034.fdocuments.us/reader034/viewer/2022042613/54b6b10c4a79597b0c8b45cb/html5/thumbnails/16.jpg)
$ sudo apt-get install jenkins
$ sudo /etc/init.d/jenkins start
![Page 17: Introduction to continuous integration 2014](https://reader034.fdocuments.us/reader034/viewer/2022042613/54b6b10c4a79597b0c8b45cb/html5/thumbnails/17.jpg)
TESTRUNBUILD
![Page 18: Introduction to continuous integration 2014](https://reader034.fdocuments.us/reader034/viewer/2022042613/54b6b10c4a79597b0c8b45cb/html5/thumbnails/18.jpg)
Quality
Speed
Innovation
![Page 19: Introduction to continuous integration 2014](https://reader034.fdocuments.us/reader034/viewer/2022042613/54b6b10c4a79597b0c8b45cb/html5/thumbnails/19.jpg)
MOVE FAST
AND
BREAK THINGS
![Page 21: Introduction to continuous integration 2014](https://reader034.fdocuments.us/reader034/viewer/2022042613/54b6b10c4a79597b0c8b45cb/html5/thumbnails/21.jpg)
● Source code on GitHub● Setup CI and demo on YouTube● “Online CI providers are the new black”, JoliCode, Feb
2012● Interactive slides on Google Drive
Additional resources