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?
• 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
• 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?
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
• 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
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
• 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!
• 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)
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" ).
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!