16
DEV Toolsets for OPS Jerald Sheets Shadow-Soft [email protected] @CVQuesty http://questy.org [email protected]

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

Embed Size (px)

DESCRIPTION

by Jerald Sheets, Shadow-Soft

Citation preview

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

DEV Toolsets for OPS

Jerald SheetsShadow-Soft

[email protected]

@CVQuestyhttp://questy.org

[email protected]

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

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

Before we get started…

This Talk is For Beginners

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

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

Where Are You Today?

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

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

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

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

Next, We’ll Need to Write Our Code

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

Write Our Code… Part II

+

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

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

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

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

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

Questions?

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

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