webinar - automated puppet code deployment with r10k

12
OlinData 2015 Automated Puppet Code Deployment with R10K Choon Ming | OlinData @choonming | [email protected]

Upload: olindata

Post on 28-Jul-2015

76 views

Category:

Technology


2 download

TRANSCRIPT

OlinData 2015

Automated Puppet Code Deployment with R10KChoon Ming | OlinData@choonming | [email protected]

OlinData 2015

Puppet Code Deployment Workflow

OlinData 2015

OlinData 2015

production

staging

development

features/cool_stuff

hotfixes/broken_stuff

OlinData 2015

R10K

OlinData 2015

[puppet ~ ]# puppet module install zack/r10k

class { 'r10k':

remote => '[email protected]:someuser/puppet.git',

}

class { 'r10k':

sources => {

'webteam' => {

'remote' => 'ssh://[email protected]/webteam/somerepo.git',

'basedir' => "${::settings::confdir}/environments",

},

}

OlinData 2015

# r10k.yaml

cachedir: '/var/cache/r10k'

sources:

r10k_demo:

remote: '[email protected]/choonming/r10k_demo.git'

basedir: '/etc/puppetlabs/puppet/environments'

OlinData 2015

# Puppetfile

# custom modules

mod 'nginx',

git: 'https://github.com/choonming/puppet-nginx.git'

# modules from forge

mod: 'puppetlabs/apache', :latest

mod: 'puppetlabs/vcsrepo'

OlinData 2015

[puppet ~ ]# r10k deploy environment -pv

INFO -> Deploying environment /etc/puppetlabs/puppet/environments/production

INFO -> Deploying module /etc/puppetlabs/puppet/environments/production/modules/nginx

INFO -> Deploying environment /etc/puppetlabs/puppet/environments/staging

INFO -> Deploying module /etc/puppetlabs/puppet/environments/staging/modules/nginx

OlinData 2015

Demo

OlinData 2015

What’s Next?

• Add post-receive hooks or webhooks

• Integrate with CI / CD framework

OlinData 2015

Q & A