Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -

Preview:

DESCRIPTION

by Jerald Sheets, Shadow-Soft

Citation preview

DEV Toolsets for OPS

Jerald SheetsShadow-Soft

jsheets@shadow-soft.com

@CVQuestyhttp://questy.org

questy@questy.org

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…

Before we get started…

This Talk is For Beginners

If you’re at the stage where you’re doing this…

You're gonna be just a little BORED

Where Are You Today?

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

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

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

Next, We’ll Need to Write Our Code

Write Our Code… Part II

+

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

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

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

Many DEV ToolsOut There

Lots ofDocumentation

Large, ActiveCommunity

Attend PuppetConf

AttendPuppetCamps

Network&

Share

Conclusion

Thank You!

Questions?

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

Recommended