puppet camp atlanta 2014: dev toolsets for ops (beginner) -
DESCRIPTION
by Jerald Sheets, Shadow-SoftTRANSCRIPT
![Page 1: Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -](https://reader034.vdocuments.site/reader034/viewer/2022052602/559b68951a28ab877f8b45f8/html5/thumbnails/1.jpg)
DEV Toolsets for OPS
Jerald SheetsShadow-Soft
@CVQuestyhttp://questy.org
![Page 2: Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -](https://reader034.vdocuments.site/reader034/viewer/2022052602/559b68951a28ab877f8b45f8/html5/thumbnails/2.jpg)
Quick Plug…
I work for…http://shadow-soft.com
http://puppetlabs.com
And also do stuff for…
I perform…
Puppet Bootstraps
Puppet Consulting
Linux Consulting
Technical Blogging
I Have…
![Page 3: Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -](https://reader034.vdocuments.site/reader034/viewer/2022052602/559b68951a28ab877f8b45f8/html5/thumbnails/3.jpg)
Before we get started…
This Talk is For Beginners
![Page 4: Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -](https://reader034.vdocuments.site/reader034/viewer/2022052602/559b68951a28ab877f8b45f8/html5/thumbnails/4.jpg)
If you’re at the stage where you’re doing this…
You're gonna be just a little BORED
![Page 5: Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -](https://reader034.vdocuments.site/reader034/viewer/2022052602/559b68951a28ab877f8b45f8/html5/thumbnails/5.jpg)
Where Are You Today?
![Page 6: Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -](https://reader034.vdocuments.site/reader034/viewer/2022052602/559b68951a28ab877f8b45f8/html5/thumbnails/6.jpg)
Installed & Configured
Managing a Few (or many) Nodes
Pushing Code Around
Running Tests in Active DEV Environments
Developing Ad-Hoc Modules
One or More Admins
Running Scripts to Check Syntax
![Page 7: Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -](https://reader034.vdocuments.site/reader034/viewer/2022052602/559b68951a28ab877f8b45f8/html5/thumbnails/7.jpg)
Clearly Defined DEV Process
Syntax and Parsing Handled Before It’s “Too Late”
Centralized, Repeatable, Shareable Code
<== How do we get this guy
Instead of This Guy ==>
?
Localized DEV Environmentsin Virtualization
![Page 8: Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -](https://reader034.vdocuments.site/reader034/viewer/2022052602/559b68951a28ab877f8b45f8/html5/thumbnails/8.jpg)
First, We’ll Need to Keep Our Code
“Trunk” Represents LatestStable Release
Active Work Under Branches
Finalized Features Merged into Trunk
Manages Code in Branches
Distributed Version Control
VERY Fast
Recommended
Git-Svn
![Page 9: Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -](https://reader034.vdocuments.site/reader034/viewer/2022052602/559b68951a28ab877f8b45f8/html5/thumbnails/9.jpg)
Next, We’ll Need to Write Our Code
![Page 10: Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -](https://reader034.vdocuments.site/reader034/viewer/2022052602/559b68951a28ab877f8b45f8/html5/thumbnails/10.jpg)
Write Our Code… Part II
+
![Page 11: Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -](https://reader034.vdocuments.site/reader034/viewer/2022052602/559b68951a28ab877f8b45f8/html5/thumbnails/11.jpg)
Syntax Checking
Parser Testing
Git Hooks
Simple --noop “Test and Observe”
Style Checking
rspec Testing(Ruby)
Environment Testing
Whatever you do, TEST YOUR CODE
Local Virtualized Testing
We’ll Need to Test Our Code
![Page 12: Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -](https://reader034.vdocuments.site/reader034/viewer/2022052602/559b68951a28ab877f8b45f8/html5/thumbnails/12.jpg)
We’ll Need to Move Our Code
Centralized, Resilient Storage
Synchronized, Distributed Git/SVN
“Masterless” Puppet w/Local Checkouts
r10k Deployments
Scripted Deployments
External Tools
Whenever Possible, Automate-Automate-Automate
![Page 13: Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -](https://reader034.vdocuments.site/reader034/viewer/2022052602/559b68951a28ab877f8b45f8/html5/thumbnails/13.jpg)
And Of Course… Share Our Code
Puppet Forge
Enabled by Using HieraTo Store Private Data
Be Sure to USE ForgeModules Too
Take Part in theCommunity
![Page 14: Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -](https://reader034.vdocuments.site/reader034/viewer/2022052602/559b68951a28ab877f8b45f8/html5/thumbnails/14.jpg)
Many DEV ToolsOut There
Lots ofDocumentation
Large, ActiveCommunity
Attend PuppetConf
AttendPuppetCamps
Network&
Share
Conclusion
Thank You!
![Page 15: Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -](https://reader034.vdocuments.site/reader034/viewer/2022052602/559b68951a28ab877f8b45f8/html5/thumbnails/15.jpg)
Questions?
![Page 16: Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -](https://reader034.vdocuments.site/reader034/viewer/2022052602/559b68951a28ab877f8b45f8/html5/thumbnails/16.jpg)
Resources
Subversionhttp://subversion.apache.org
Githttp://git-scm.org
GitHubhttps://github.com
Vagranthttp://vagrantup.com
Puppet Vagrant Boxeshttp://puppet-vagrant-boxes.puppetlabs.com
My Vagrant Projecthttps://github.com/cvquesty/vagrant-ss
VirtualBoxhttps://www.virtualbox.org
VMWarehttp://www.vmware.com/products/desktop-virtualization.html
Puppet Parserhttps://docs.puppetlabs.com/references/3.4.0/man/parser.html
Puppet-Linthttp://puppet-lint.com
Git Hookshttp://puppetlabs.com/blog/how-set-git-commit-hooks-puppet-enterprise
--noophttps://docs.puppetlabs.com/references/3.3.latest/man/apply.html
https://forge.puppetlabs.com/trlinkin/noop
Rspechttp://code.tutsplus.com/tutorials/ruby-for-newbies-testing-with-rspec--net-21297
Jenkinshttp://jenkins-ci.org
Mavenhttp://maven.apache.org
Gradlehttp://www.gradle.org
Puppet Forgehttps://forge.puppetlabs.com
Hierahttps://docs.puppetlabs.com/hiera/1/
My Sitehttp://questy.org
Gary Larizza’s Bloghttp://garylarizza.comMy Employer
http://shadow-soft.com