Slide 1

Slide 1 text

Nobody likes you Jenkins Andy Gale

Slide 2

Slide 2 text

Andy Gale @techandygale on Twitter Bristol Rovers fan #UTG Bristol DevOps Organiser What do you do? Owner and DevOps Consultant at Hello Future

Slide 3

Slide 3 text

Hello Future • @hellofutur3 on Twitter • DevOps, Continuous Delivery, Chef, Docker and cloud automation consultancy • Web application development • We now have availability for DevOps Consultancy if you’re after some What do we do?

Slide 4

Slide 4 text

Nobody likes you Jenkins

Slide 5

Slide 5 text

Butler sad face

Slide 6

Slide 6 text

• We actually really like Jenkins at Hello Future • Use it loads • We advise our customers how to use it • We even do managed Jenkins hosting for our customers • And we’d be happy to set up and/or run a managed Jenkins for you Why do you hate Jenkins? I actually don’t

Slide 7

Slide 7 text

Butler happy face *He looks very ill doesn’t he?

Slide 8

Slide 8 text

• Jenkins is very flexible, plugins for everything • Jenkins is often used for anything task orientated • Jenkins is used for things that it probably shouldn’t be • Jenkins can be complicated to set up So what’s the big problem, Gale?

Slide 9

Slide 9 text

Use Jenkins for what it’s designed for!

Slide 10

Slide 10 text

What shouldn’t I use it for? Well that’s up to you but here are some alternatives

Slide 11

Slide 11 text

Simple to set up Jenkins alternatives

Slide 12

Slide 12 text

machine: php: version: 5.5.11 Most let you just include a .yml file or similar and define your PHP version etc. This is obviously easier than setting up Jenkins. Unless you really hate YAML. Simple to set up Jenkins alternatives

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

• Easy to set up, don’t need to deal with that high-maintenance butler • Don’t need to pay for hosting Jenkins or have it running on a box under someone’s desk • Can probably run smaller and open source projects for free • Automated deployments to many popular tools like Heroku, AWS Elastic Beanstalk & Code Deploy, Capistrano, custom scripts etc Simple to set up Jenkins alternatives Pros

Slide 15

Slide 15 text

Simple to set up Jenkins alternatives • Can be inflexible • Need things like Docker support to be added rather than just installing it yourself and running a command as part of the or a post-build action • Limited SCM support for anything but Github (sometimes Bitbucket) • You may struggle to find one that combines supports for the various technologies that you use Cons

Slide 16

Slide 16 text

I’m not a task runner

Slide 17

Slide 17 text

You’re going to have a bad time

Slide 18

Slide 18 text

A great tool for replacing SSH or Jenkins with a glorious easy to use interface

Slide 19

Slide 19 text

• Allows you to create jobs to do on-demand as well as scheduled tasks • Can automatically discover nodes from Chef/ Salt/AWS APIs (based on roles etc) • Prevent yourself from SSHing to servers and messing things up!

Slide 20

Slide 20 text

• Self service jobs for developers, IT Operations and support staff • Agentless (uses SSH or winrm) • Has an API • Failure, in progress, pending and success statuses • You can run Rundeck jobs from Jenkins jobs (i.e. deploying after a successful build)

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

Nodes filtering links 1. Clicking the single node view icon filters the list down to just that node. 2. Find nodes with this Tag (e,g just nodes with tagged "www"). 3. Find nodes with this Attribute name (e.g., any node with the "web:pid" attribute). 4. Find nodes with this Attribute value (e.g., any node with attribute "web:state=RUNNING" ).

Slide 24

Slide 24 text

Summary • Don’t hate on Jenkins, use it for what it’s good at • Maybe you don’t need to have a full Jenkins install, there are simple alternatives which you might eventually out grow but are good for startups • Consider running task in a task runner • Hello Future can help set this all up for you!