the butler and the snake (europython) butler and the snake ... server-node / provisioning / jenkins...

21
The Butler and the Snake Continuous Integration for Python Europython 2015 — Bilbao Timo Stollenwerk

Upload: vuongkiet

Post on 11-Mar-2018

225 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: The Butler And The Snake (Europython) Butler and the Snake ... Server-Node / Provisioning / Jenkins Port Allocator Plugin. Continuous Deployment zest.releaser / devpi / Jenkins Workflow

The Butler and the SnakeContinuous Integration for Python

Europython 2015 — Bilbao

Timo Stollenwerk

Page 2: The Butler And The Snake (Europython) Butler and the Snake ... Server-Node / Provisioning / Jenkins Port Allocator Plugin. Continuous Deployment zest.releaser / devpi / Jenkins Workflow
Page 3: The Butler And The Snake (Europython) Butler and the Snake ... Server-Node / Provisioning / Jenkins Port Allocator Plugin. Continuous Deployment zest.releaser / devpi / Jenkins Workflow

Continuous Integration

Commit Build Report

Page 4: The Butler And The Snake (Europython) Butler and the Snake ... Server-Node / Provisioning / Jenkins Port Allocator Plugin. Continuous Deployment zest.releaser / devpi / Jenkins Workflow

Buildbot

Page 5: The Butler And The Snake (Europython) Butler and the Snake ... Server-Node / Provisioning / Jenkins Port Allocator Plugin. Continuous Deployment zest.releaser / devpi / Jenkins Workflow

"It's like Buildbot, but with a butler."

Jenkins (aka Hudson)

Page 6: The Butler And The Snake (Europython) Butler and the Snake ... Server-Node / Provisioning / Jenkins Port Allocator Plugin. Continuous Deployment zest.releaser / devpi / Jenkins Workflow

Nightly Builds

Page 7: The Butler And The Snake (Europython) Butler and the Snake ... Server-Node / Provisioning / Jenkins Port Allocator Plugin. Continuous Deployment zest.releaser / devpi / Jenkins Workflow

Solving the Nightly Build Problem

Commit Build Notify

Page 9: The Butler And The Snake (Europython) Butler and the Snake ... Server-Node / Provisioning / Jenkins Port Allocator Plugin. Continuous Deployment zest.releaser / devpi / Jenkins Workflow

Testing

collective.xmltestreport / pytest / Coverage / Cobertura

Page 10: The Butler And The Snake (Europython) Butler and the Snake ... Server-Node / Provisioning / Jenkins Port Allocator Plugin. Continuous Deployment zest.releaser / devpi / Jenkins Workflow

Robot Framework / Saucelabs

Robot Framework

Robot / Saucelabs Jenkins Plugins

Page 11: The Butler And The Snake (Europython) Butler and the Snake ... Server-Node / Provisioning / Jenkins Port Allocator Plugin. Continuous Deployment zest.releaser / devpi / Jenkins Workflow

Static Code Analysis

Pep8 / Pyflakes / Pylint / plone.recipe.codeanalysis / Violations Plugin

Page 12: The Butler And The Snake (Europython) Butler and the Snake ... Server-Node / Provisioning / Jenkins Port Allocator Plugin. Continuous Deployment zest.releaser / devpi / Jenkins Workflow

Notifications

Email-Ext Plugin / LDAP / Jenkins Dashboard Plugin

Page 13: The Butler And The Snake (Europython) Butler and the Snake ... Server-Node / Provisioning / Jenkins Port Allocator Plugin. Continuous Deployment zest.releaser / devpi / Jenkins Workflow

Build is still broken

Page 14: The Butler And The Snake (Europython) Butler and the Snake ... Server-Node / Provisioning / Jenkins Port Allocator Plugin. Continuous Deployment zest.releaser / devpi / Jenkins Workflow

Agreement on the Team

Page 15: The Butler And The Snake (Europython) Butler and the Snake ... Server-Node / Provisioning / Jenkins Port Allocator Plugin. Continuous Deployment zest.releaser / devpi / Jenkins Workflow

Continuous Integration Rules

buildoutcoredev.readthedocs.org

Page 16: The Butler And The Snake (Europython) Butler and the Snake ... Server-Node / Provisioning / Jenkins Port Allocator Plugin. Continuous Deployment zest.releaser / devpi / Jenkins Workflow

A green build!

Page 17: The Butler And The Snake (Europython) Butler and the Snake ... Server-Node / Provisioning / Jenkins Port Allocator Plugin. Continuous Deployment zest.releaser / devpi / Jenkins Workflow

Scalability

Server-Node / Provisioning / Jenkins Port Allocator Plugin

Page 18: The Butler And The Snake (Europython) Butler and the Snake ... Server-Node / Provisioning / Jenkins Port Allocator Plugin. Continuous Deployment zest.releaser / devpi / Jenkins Workflow

Continuous Deployment

zest.releaser / devpi / Jenkins Workflow Plugin

Page 19: The Butler And The Snake (Europython) Butler and the Snake ... Server-Node / Provisioning / Jenkins Port Allocator Plugin. Continuous Deployment zest.releaser / devpi / Jenkins Workflow

Summary

Page 20: The Butler And The Snake (Europython) Butler and the Snake ... Server-Node / Provisioning / Jenkins Port Allocator Plugin. Continuous Deployment zest.releaser / devpi / Jenkins Workflow

Further Reading

https://medium.com/@timostollenwerk/continuous-integration-for-plone-b7b0b72c21dc

Page 21: The Butler And The Snake (Europython) Butler and the Snake ... Server-Node / Provisioning / Jenkins Port Allocator Plugin. Continuous Deployment zest.releaser / devpi / Jenkins Workflow

Europython 2015 - Bilbao

Timo Stollenwerk

Twitter: IRC: E-Mail: Blog: Web:

The Butler and the Snake

http://twitter.com/timostollenwerk tisto@freenode [email protected] http://medium.com/timostollenwerk http://timostollenwerk.net

http://de.slideshare.net/tisto/the-butler-and-the-snake-europython-2015