chef ci at bigpoint
TRANSCRIPT
North America
Africa
Canada
Europe
Asia
Russia
South America
Australia
North America
Africa
Canada
Europe
Asia
Russia
South America
Australia
North America
Africa
Canada
Europe
Asia
Russia
South America
Australia
North America
Africa
Canada
Europe
Asia
Russia
South America
Chef : Continous Integration @ Bigpoint
Sebasti an Grewe
D r e h b a h n 4 7 - 4 8 , 2 0 3 5 4 H A M B U R G , G E R M A N Y
Australia
Introduction: How it all began Development Process Build Process Release Process Deployment Process
SummaryContents of th is presentati on
Bigpoint Challenge:– running multiple, different products– Various teams will be working on different cookbooks for their specifc service– Cookbook Developers are not allowed upload/deploy them in Chef
First Approach– Chef- Tests with Jenkins, no actual Chef Deployment– A lot of trial and error in the beginnings– Chef was very new to use and the community, best practices had to be developed
Learnings– Automated deployment is required to work with different teams– Centralized tests are needed– Build status should be transparent
Introduction
Development• Vagrant• Kitchen• Chef-Test• Code Reviews
Build Process• Jenkins• Chef-Test
Release Process
• Jenkins• Chef-Release-
Test• Chef-Release
Deployment Process
• Jenkins• Chef-
Deploy
Chef-CI : OverviewStep by Step into Chef
We needed to come up with our own `Developer Package`– Definition of Done– Vagrant / Kitchen– Local Development
Chef very complex for newcomers– Pick up developer very early
• Skeleton Cookbook• Chef Documentation• In-house weekly Chef get-together
Development ProcessKeep Development Local
Jenkins as a centralized build and test platform Tools used to test our cookbooks
– Rubocop– chefspec and serverspec– Foodcritic
Integrated into Jenkins with our Chef-CI scripts– Test on update or merges to Next– Branch testing when needed
Build ProcessAutomated Cookbook Tests
Jenkins handles our releases with Chef-CI Releases are a triggered by a user and not automatic Extended tests are applied to ensure cookbooks work as expected Version increments, metadata updates, git tags and changelog all handled by
Chef-CI scripts
Release ProcessFleixible and Automated Release Process
Completed release builds are available for Chef Deployment Controlled deployment into selectable environments Chef-CI will take care of Chef Uploads and environment updates
Deployment Process
North America
Africa
Canada
Europe
Asia
Russia
South America
Australia
North America
Africa
Canada
Europe
Asia
Russia
South America
Questi ons?
D r e h b a h n 4 7 - 4 8 , 2 0 3 5 4 H A M B U R G K E Y N O T E G D C 2 0 1 4
Australia
North America
Africa
Canada
Europe
Asia
Russia
South America
Australia
Bigpoint GmbH
Alexanderstraße 510178 BerlinGermany
Bigpoint Inc.
Bigpoint Inc.795 Folsom St. 1st floorSan FrancisoCA 94107, United States
Bigpoint S.à.r.l. and Co, SCS
EBBC D 6 D route de TrèvesL-2633 Senningerberg
Bigpoint GmbHSebastian Grewe
Drehbahn 47-4820354 Hamburg Germany
Tel +49 40.88 14 13 - 0Fax +49 40.88 14 13 - 11
Contact us
Bigpoint International Services Limited
1 Villa ZimmermannTa’Xbiex TerraceXBX 1035 Ta’XbiexMalta