chef meetupfiles.meetup.com/5851622/chef delivery.pdf · maggie walker • front-end developer on...
TRANSCRIPT
![Page 1: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/1.jpg)
Chef Meetup
• 6:30 – 7:00 – Meet, greet, and eat• 7:00 – 7:20 – Introductions and Welcome• 7:20 – 8:30 – Chef Delivery• 8:30 – 9:00 – Networking & Wrap-up
![Page 2: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/2.jpg)
![Page 3: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/3.jpg)
![Page 4: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/4.jpg)
![Page 5: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/5.jpg)
Introductions & Announcements
• Hiring?• Looking for work?• Attend or speaking at a conference?• Something we all should know?
![Page 6: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/6.jpg)
Chef DeliveryNathen Harvey & Maggie Walker
![Page 7: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/7.jpg)
Maggie Walker
• Front-end Developer on the CIA team at Chef• Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io, and docs.chef.io• Past life as a Professional Hula Hoop Dance Teacher and Performer (yes, really)
• @magwalk• [email protected]
![Page 8: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/8.jpg)
Nathen Harvey
• VP, Community Development at Chef• Co-host of the Food Fight Show Podcast• Co-organizer of DevOpsDC meetup• Occasional farmer – http://ei.chef.io• Love eggs – http://eggs.chef.io
• @nathenharvey• [email protected]
![Page 9: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/9.jpg)
Introducing Chef Delivery
Adopt a proven workflow to go more quickly from idea to shipped software
High velocity with safetyReliable and repeatable workflow
Visibility of who did what, and when
![Page 10: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/10.jpg)
Shared Workflow
Delivery’s pipeline is shared across projects and teams
![Page 11: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/11.jpg)
Unified Pipeline Shape
The stages are fixed, and each stage has a fixed set of phases!
APPROVE DELIVER
SubmitChange
![Page 12: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/12.jpg)
Chef Provides a Proven Approach to DevOps
...
...
...
Targets/Workloads
Collaborative Dev
Chef Analytics
Production
Chef Server
Chef Server
Chef Supermarket
Assessment
Chef Compliance
� Search
^ Audit
Ǘ Discover
Deploy
Test
Chef Delivery!
Local Dev
ê Model
ƨ Build
¿ Test
Chef DK
Chef Client & Cookbooks
![Page 13: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/13.jpg)
Unified Pipeline Shape
The stages are fixed, and each stage has a fixed set of phases!
APPROVE DELIVER
LintSyntaxUnit
SubmitChange
![Page 14: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/14.jpg)
Unified Pipeline Shape
The stages are fixed, and each stage has a fixed set of phases!
APPROVE DELIVER
LintSyntaxUnit
SubmitChange
Does thiscode changelook good?
![Page 15: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/15.jpg)
Unified Pipeline Shape
The stages are fixed, and each stage has a fixed set of phases!
APPROVE DELIVER
LintSyntaxUnit
SecurityQualityPublish
LintSyntaxUnit
SubmitChange
Does thiscode changelook good?
![Page 16: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/16.jpg)
Unified Pipeline Shape
The stages are fixed, and each stage has a fixed set of phases!
APPROVE DELIVER
LintSyntaxUnit
SecurityQualityPublish
LintSyntaxUnit
ProvisionDeploySmoke
Functional
SubmitChange
Does thiscode changelook good?
![Page 17: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/17.jpg)
Unified Pipeline Shape
The stages are fixed, and each stage has a fixed set of phases!
APPROVE DELIVER
LintSyntaxUnit
SecurityQualityPublish
LintSyntaxUnit
ProvisionDeploySmoke
Functional
SubmitChange
Does thiscode changelook good?
Do we wantto ship this?
![Page 18: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/18.jpg)
Unified Pipeline Shape
The stages are fixed, and each stage has a fixed set of phases!
APPROVE DELIVER
LintSyntaxUnit
SecurityQualityPublish
LintSyntaxUnit
ProvisionDeploySmoke
Functional
ProvisionDeploySmoke
Functional
SubmitChange
Does thiscode changelook good?
Do we wantto ship this?
![Page 19: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/19.jpg)
Unified Pipeline Shape
The stages are fixed, and each stage has a fixed set of phases!
APPROVE DELIVER
LintSyntaxUnit
SecurityQualityPublish
LintSyntaxUnit
ProvisionDeploySmoke
Functional
ProvisionDeploySmoke
Functional
ProvisionDeploySmoke
Functional
SubmitChange
Does thiscode changelook good?
Do we wantto ship this?
![Page 20: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/20.jpg)
Unified Pipeline Shape
The stages are fixed, and each stage has a fixed set of phases!
APPROVE DELIVER
LintSyntaxUnit
SecurityQualityPublish
LintSyntaxUnit
ProvisionDeploySmoke
Functional
ProvisionDeploySmoke
Functional
ProvisionDeploySmoke
Functional
ProvisionDeploySmoke
Functional
SubmitChange
Does thiscode changelook good?
Do we wantto ship this?
![Page 21: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/21.jpg)
Delivery Phases
Verify and Build
Build
Acceptance, Union, Rehearsal, Delivered
Provision Deploy
Smoke Functional
![Page 22: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/22.jpg)
Delivery Phases – Example Java Application
• JUnit
Verify and Build
Build
• Lint4J • javac
• Fortify • FindBugs • Maven• Artifactory
Acceptance, Union, Rehearsal, Delivered
• EC2• Chef Provisioning
Provision Deploy
• Load jar in Tomcat
• Curl $URL; check for 200 OK
Smoke Functional
• Selenium• Cucumber• Chef InSpec
![Page 23: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/23.jpg)
Delivery Phases – Learn Chef
• RSpec
Verify and Build
Build
• skip • skip
• skip • skip • Create tarball
Acceptance, Union, Rehearsal, Delivered
• Chef Provisioning• S3 Buckets• Setup Fastly
Provision Deploy
• Upload to S3• Flush Fastly
• Curl $URL; check for 200 OK
Smoke Functional
• linkchecker• Notify Slack
![Page 24: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/24.jpg)
Delivery Phases
Verify and Build
Build
Acceptance, Union, Rehearsal, Delivered
Provision Deploy
Smoke Functional
![Page 25: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/25.jpg)
Shared Workflow
Delivery’s pipeline is shared across projects and teams
![Page 26: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/26.jpg)
Visualization of ChangeDelivery’s dashboard summarizes all changes at a glance
![Page 27: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/27.jpg)
Build Cookbook
• Each project has a build cookbook !• Build cookbooks can also be shared across projects• Delivery project = build cookbook + project config + project code
├── recipes/ ├── lint.rb ├── syntax.rb └── unit.rb
![Page 28: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/28.jpg)
Phase Execution
Delivery provides syntactic helpers for common tasks
log "Running unit tests"
repo = node['delivery_builder']['repo']
execute "run my junit tests" do command "mvn test" cwd repoend
![Page 29: Chef Meetupfiles.meetup.com/5851622/Chef Delivery.pdf · Maggie Walker • Front-end Developer on the CIA team at Chef • Maker of shiny UI on chef.io, downloads.chef.io, learn.chef.io,](https://reader035.vdocuments.net/reader035/viewer/2022062919/5ee37b04ad6a402d666d5173/html5/thumbnails/29.jpg)