Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cookbook Versioning: When Berkshelf Isn't Enough
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Chris Laco
April 17, 2014
Technology
77
0
Share
Cookbook Versioning: When Berkshelf Isn't Enough
Chris Laco
April 17, 2014
More Decks by Chris Laco
See All by Chris Laco
Ansible: An Introduction to Automation - OLF 2017
claco
0
99
Helping Your Manager Be a Better Leader for You - Ohio LinuxFest 2017
claco
0
56
Helping Your Manager Be a Better Leader for You - PghTechFest 2017
claco
1
55
Helping Your Manager Be a Better Leader for You - PyOhio 2017
claco
0
84
Helping Your Manager Be a Better Leader for You
claco
1
150
Ansible: An Introduction to Automation
claco
0
120
Testing: It's not just for your code!
claco
0
110
Servers So Easy A Caveman Can Do It
claco
0
79
Ohio LinuxFest 2012: Servers So Easy A Caveman Can Do It
claco
2
170
Other Decks in Technology
See All in Technology
ラズパイ & Picoで入門:Zephyr(RTOS)の環境構築からビルドまでの紹介
iotengineer22
0
230
「使われるデータ基盤」を目指してデータアナリストとワークショップをやった話
jackojacko_
2
850
イベントで大活躍する電子ペーパー名札 〜その3〜 / ビジュアルプログラミングIoTLT vol.23
you
PRO
0
130
ソフトウェアサプライチェーン攻撃対策として今からサクッとできること
flatt_security
2
130
Harnessing the Power of Mocks and Stubs in PHPUnit / #laravellivejp
asumikam
0
500
その英語学習、AWSで代替できませんか?
suzutatsu
1
240
コーディングエージェントはTypeScriptの 型エラーをどう自己修正しているのか
melonps
4
480
CloudFront VPCオリジンとVPC Latticeサービスの内部ALBをマルチアカウントで一元利用しよう
duelist2020jp
5
230
TypeScriptで実現する既存APIを活用したリモートMCPサーバー構築 / TSKaigi 2026
soarteclab
1
280
AIのために、AIを使った、Effect-TSからの脱却 〜テストを活用した安全なリファクタリングの進め方〜
bitkey
PRO
1
550
『家族アルバム みてね』における インシデント対応との向き合い方 / Approach incident response in Family Album
kohbis
2
180
大規模環境でどのように監視を実現する?
yuobayashi
1
140
Featured
See All Featured
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Leo the Paperboy
mayatellez
7
1.8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
How to Talk to Developers About Accessibility
jct
2
200
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
550
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
570
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
360
The Mindset for Success: Future Career Progression
greggifford
PRO
0
340
Visualization
eitanlees
151
17k
Bash Introduction
62gerente
615
210k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
570
Transcript
@claco 1 Cookbook Versioning When Berkshelf Isn’t Enough ∞ Christopher
H. Laco DevOps Engineer Rackspace
@claco 2
@claco 3
@claco 4
@claco 5
@claco 6 Libraries / Frameworks / Products / Distros Continuous
Improvement / Deployment / Delivery Release Early / Release Often Risk Management Stable Long Term Releases Producer vs. Consumer Frictions
@claco 7 Master - High (Features, Improvements, Fixes) Stable/Havana -
Medium (Improvements, Fixes) Stable/Grizzly - Low (Fixes Only) Risk Acceptance
@claco 8 25 Cookbooks* 3 Releases in 2014 14 Releases
in 2013 2 Stable Branches - Folsom / Grizzly / Havana [RPC] Cookbook Release Statistics
@claco 9 20 Cookbook Dependencies Apache, RabbitMQ, MySQL, Apt, Yum,
… 39 Releases in 2014 135 Releases in 2013 Single Stable Branch Dependency Release Statistics
@claco 10 apache2 apt aws build db erlang iptables logrotate
memcached mysql ntp openssh openssl rabbitmq rsyslog runit selinux yum 1/1/13 2/11/13 3/24/13 5/5/13 6/15/13 7/27/13 9/6/13 10/18/13 11/28/13 1/9/14 2/19/14 4/2/14 rcbops
@claco 11 apache2 apt aws build db erlang iptables logrotate
memcached mysql ntp openssh openssl rabbitmq rsyslog runit selinux yum 1/1/13 2/11/13 3/24/13 5/5/13 6/15/13 7/27/13 9/6/13 10/18/13 11/28/13 1/9/14 2/19/14 4/2/14 rcbops Havana Grizzly Folsom
@claco 12 Service Reload / Restart Changes Notify Immediately /
Delayed Changes Pending COOK Fixes Major Version Changes (YUM Split) Intermediate Changes *25 Cookbooks vs. 1 Cookbook Risk Generators
@claco 13 apache2 apt aws build db erlang iptables logrotate
memcached mysql ntp openssh openssl rabbitmq rsyslog runit selinux yum 1/1/13 2/11/13 3/24/13 5/5/13 6/15/13 7/27/13 9/6/13 10/18/13 11/28/13 1/9/14 2/19/14 4/2/14 rcbops Havana X Berkshelf Version Cook Fix Incompatibility 4.2.0 4.2.1 4.2.2
@claco 14 Good for reproducing dependencies Not for managing them
granularly (Jenkins) Death by a thousand forks (Libraries) Life with a few forks (Packages / Backports) Reduce Risk Generators Berkshelf [and Bundler]
@claco 15 Fork Cookbook / Add Upstream Remote Create Integration
Branch From Release Cherry Pick (Local & Upstream PRs) Point Berkshelf to Integration Branch Sleep At Night Berkshelforkinating
@claco 16 hub clone gmiranda23/ntp; cd ntp && hub fork
hub branch integration v1.5.0 && hub checkout integration hub cherry-pick 9411f [integration d95e6eb] [COOK-4339] Disable MONLIST cookbook "ntp", git: "claco/ntp", branch: "d95e6eb" Berkshelforkinating
@claco 17 Fork Cookbook / Add Upstream Remote Create Integration
Branch From Release Cherry Pick (Local & Upstream PRs) Point Submodules to Integration SHA Sleep At Night Submodulation
@claco 18 hub clone gmiranda23/ntp; cd ntp && hub fork
hub branch integration v1.5.0 && hub checkout integration hub cherry-pick 9411f [integration d95e6eb] [COOK-4339] Disable MONLIST hub submodule add -b d95e6eb claco/ntp ntp Submodulation
@claco 19 Fork Cookbook / Add Upstream Remotes Create New
Release Branch From Release Cherry Pick (Local & Upstream PRs) Scripted Point Berkshelf to New Version Sleep At Night Dockernating*
@claco 20 Dockernating* (Buildfile) cookbook "gmiranda23/ntp", version: "v1.5.0" changeset "9411f"
# patch "COOK-4339.patch" ! ! $ berks build $ berks package
@claco 21 Thank You ∞ Christopher H. Laco DevOps Engineer
Rackspace