29
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

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,

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

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,

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,
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,
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,
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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,