Best Practices for a Mission- Critical Jenkins

Similar documents
TM DevOps Use Case TechMinfy All Rights Reserved

DEVOPS COURSE CONTENT

How can you implement this through a script that a scheduling daemon runs daily on the application servers?

#jenkinsconf. Managing jenkins with multiple components project. Jenkins User Conference Israel. Presenter Name Ohad Basan

Jenkins User Conference Israel. #jenkinsconf. CI / Liveperson. Gidi Samuels. July 16, #jenkinsconf

AWS Solutions Architect Associate (SAA-C01) Sample Exam Questions

AWS Course Syllabus. Linux Fundamentals. Installation and Initialization:

At Course Completion Prepares you as per certification requirements for AWS Developer Associate.

Linux System Management with Puppet, Gitlab, and R10k. Scott Nolin, SSEC Technical Computing 22 June 2017

About Intellipaat. About the Course. Why Take This Course?

Amazon Web Services Training. Training Topics:

Amazon Web Services (AWS) Training Course Content

Created by: Nicolas Melillo 4/2/2017 Elastic Beanstalk Free Tier Deployment Instructions 2017

Amazon Web Services (AWS) Solutions Architect Intermediate Level Course Content

Design Patterns for the Cloud. MCSN - N. Tonellotto - Distributed Enabling Platforms 68

CogniFit Technical Security Details

Object Oriented Programming. Week 1 Part 2 Git and egit

Puppet on the AWS Cloud

Seven Habits of Highly Effective Jenkins Users

Cloud Computing /AWS Course Content

Lassoing the Clouds: Best Practices on AWS. Brian DeShong May 26, 2017

Lassoing the Clouds: Best Practices on AWS. Brian DeShong May 26, 2017

BERLIN. 2015, Amazon Web Services, Inc. or its affiliates. All rights reserved

AALOK INSTITUTE. DevOps Training

DevOps Course Content

AWS Solution Architect Associate

DevOps examples on NonStop Tools Overview. Cor Geboers, ATC Consultant

CIT 668: System Architecture. Amazon Web Services

Introduction to cloud computing

TM DevOps Use Case. 2017TechMinfy All Rights Reserved

Amazon AWS-Solution-Architect-Associate Exam

Google Cloud Platform for Systems Operations Professionals (CPO200) Course Agenda

Building a Modular and Scalable Virtual Network Architecture with Amazon VPC

LINUX, WINDOWS(MCSE),

Immersion Day. Getting Started with Linux on Amazon EC2

TM DevOps Use Case. 2017TechMinfy All Rights Reserved

Oracle WebLogic Server 12c on AWS. December 2018

SAA-C01. AWS Solutions Architect Associate. Exam Summary Syllabus Questions

The Long Road from Capistrano to Kubernetes

JetBrains TeamCity Comparison

Jenkins: AMPLab s Friendly Butler. He will build your projects so you don t have to!

Introduction to Amazon Web Services. Jeff Barr Senior AWS /

Introduction to Cloud Computing

We are ready to serve Latest IT Trends, Are you ready to learn? New Batches Info

OnCommand Cloud Manager 3.2 Deploying and Managing ONTAP Cloud Systems

Continuous Delivery for Cloud Native Applications

SCREENING TEST & TELEPHONIC

I'm Andy Glover and this is the Java Technical Series of. the developerworks podcasts. My guest is Brian Jakovich. He is the

DevOps Course Content

NetApp Jenkins Plugin Documentation

Seven Habits of Highly Effective Jenkins Users. Andrew Bayer Cloudera OSCON Java 2011

Highly Available Database Architectures in AWS. Santa Clara, California April 23th 25th, 2018 Mike Benshoof, Technical Account Manager, Percona

Enroll Now to Take online Course Contact: Demo video By Chandra sir

TestkingPass. Reliable test dumps & stable pass king & valid test questions

Fault-Tolerant Computer System Design ECE 695/CS 590. Putting it All Together

Pass4test Certification IT garanti, The Easy Way!

Serverless Website Publishing with AWS Code* Services. Steffen Grunwald Solutions Architect, AWS October 27, 2016

How to host and manage enterprise customers on AWS: TOYOTA, Nippon Television, UNIQLO use cases

Continuous Delivery of your infrastructure. Christophe

ForeScout CounterACT. (AWS) Plugin. Configuration Guide. Version 1.3

Profile Can't Be Found Jenkins

High School Technology Services myhsts.org Certification Courses

How to go serverless with AWS Lambda

ArcGIS 10.3 Server on Amazon Web Services

Important DevOps Technologies (3+2+3days) for Deployment

Part2: Let s pick one cloud IaaS middleware: OpenStack. Sergio Maffioletti

migrating IDM's big data platform to RDS and Elastic Beanstalk Chris Mair

Jenkins in the Enterprise Building resilient CI infrastructure

Lab 2 Third Party API Integration, Cloud Deployment & Benchmarking

Managing and Auditing Organizational Migration to the Cloud TELASA SECURITY

Ansible Tower Quick Setup Guide

Training on Amazon AWS Cloud Computing. Course Content

Cloudera s Enterprise Data Hub on the Amazon Web Services Cloud: Quick Start Reference Deployment October 2014

PracticeDump. Free Practice Dumps - Unlimited Free Access of practice exam

CPM. Quick Start Guide V2.4.0

Aurora, RDS, or On-Prem, Which is right for you

Amazon Web Services. Block 402, 4 th Floor, Saptagiri Towers, Above Pantaloons, Begumpet Main Road, Hyderabad Telangana India

Designing Fault-Tolerant Applications

DevOps on AWS Deep Dive on Continuous Delivery and the AWS Developer Tools

The Packer Book. James Turnbull. April 20, Version: v1.1.2 (067741e) Website: The Packer Book

Distributed CI: Scaling Jenkins on Mesos and Marathon. Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA

TANDBERG Management Suite - Redundancy Configuration and Overview

Container Orchestration on Amazon Web Services. Arun

CESSDA Expert Seminar 13 & 14 September 2016 Prague, Czech Republic

Personal Statement. Skillset I MongoDB / Cassandra / Redis / CouchDB. My name is Dale-Kurt Murray. I'm a Solutiof

AEM Code Promotion and Content Synchronization Best Practices

Infoblox Trinzic V-x25 Series Appliances for AWS

Overview of load testing with Taurus in Jenkins pipeline

StreamSets Control Hub Installation Guide

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

Fundamentals of Git 1

Zombie Apocalypse Workshop

Deploying High Availability and Business Resilient R12 Applications over the Cloud

Ross Whetten, North Carolina State University

JenkinsPipelineUnit. Test your Continuous Delivery Pipeline. Ozan Gunalp - Emmanuel Quincerot

Ruby in the Sky with Diamonds. August, 2014 Sao Paulo, Brazil

Pipeline as Code for your IAC. Kris

DevOps Technologies. for Deployment

271 Waverley Oaks Rd. Telephone: Suite 206 Waltham, MA USA

Revision control. INF5750/ Lecture 2 (Part I)

Transcription:

Best Practices for a Mission- Critical Jenkins Mike Rooney Jenkins Connoisseur http://linkedin.com/in/mcrooney

Jenkins Uses! Genius.com staging deployment, code reviews, automated branching and merging, monitors! Canv.as continuous deployment, scoring, monitoring, newsletter mailing! Conductor environment creation, staging / prod deployment, selenium monitoring

Hand-check: How critical is your Jenkins?

What problems have you faced?

Problems! disk failure / data loss! hardware failure / downtime! load / latency

Solution! make Jenkins instance trivial to respin ideally a one-liner that even handles DNS create.sh jenkins

Persistence! $JENKINS_HOME plugins, users, jobs, builds, configuration

Persistence! git / svn make $JENKINS_HOME a checkout have a Jenkins job that commits daily examples: http://jenkins-ci.org/content/ keeping-your-configuration-and-datasubversion

Persistence! EBS on AWS put $JENKINS_HOME on an EBS volume snapshot nightly via a Jenkins job

Environment! Jenkins is more than a.war specific Jenkins version startup options dependent packages: git, ruby gems, pip ssh keys, m2 settings swap, tmpfs, system configuration

Environment! configuration management:puppet/chef* * https://wiki.jenkins-ci.org/display/jenkins/puppet

Environment! standalone puppet apply path/to/your/manifest.pp! puppetmaster set up /etc/puppet.conf, run puppet agent

Putting it Together! have manifest handle $JENKINS_HOME clone git repo, mount EBS volume, etc

Putting it Together on AWS! upload manifests to S3 on check-in a Jenkins SCM job using S3 plugin! use cloud-init to install puppet, download manifests, and run puppet a custom AMI with an rc.local script also works! when it dies: create.sh jenkins ec2-launch-instance config user-data

Monitoring! but how do you know when it s down?! check out services like Pingdom notifies you when a URL does give HTTP 200 OK

Going further: Elastic Beanstalk! handles provisioning simply from a.war! pros just give it a war automatically replaces unhealthy instances behind a load-balancer (consistent URL) normally hard AWS changes like AMI, Security Groups, or Key Pairs are now trivial to make! cons behind a load-balancer (cost overhead) no UI option (yet) for controlling AZ no great way to pass data to instances for puppet locked in to Amazon Linux AMI (CentOS)

Going further: Elastic Beanstalk! set min/max instances to 1 ignore scaling triggers, irrelevant in this case! use beanstalk CLI to set desired AZ (if EBS) https://forums.aws.amazon.com/thread.jspa? threadid=61409! puppet use a custom AMI that specifically runs Jenkins manifests but this requires a specific AMI for each Beanstalk application. let s get creative

Going further: Elastic Beanstalk! passing data to instances! PARAM1..5 meant as args to.war! end up in /etc/sysconfig/tomcat7 JAVA_OPTS! parse out and: puppet apply certname=$parsed_role

Questions?

High Availability Artifacts! protect: artifacts, reports, usercontent! from: planned downtime: Jenkins restarts/upgrades, server upgrades unplanned downtime: software/hardware failure

High(er) Availability Artifacts! easy mode: put Jenkins behind nginx/apache, shadow usercontent and relevant directories still available during Jenkins restarts, or very high Jenkins load/latency not safe from server downtime

High Availability Artifacts! advanced mode: S3 99.99% availability, 99.999999999% durability* if you store 10K objects, expect to lose one every 10 million years use Jenkins S3 plugin to upload artifacts to S3 * http://aws.amazon.com/s3/faqs

Fault-tolerant Jobs! design with possible downtime in mind SCM triggering is great, but keep polling too

Fault-tolerant Jobs! */15 * * * BAD: update users where join_time < 15m ago GOOD: update users where id > last_id_updated

Error handling! for non-critical jobs, use email / IM postbuild notifiers but be careful of creating too much noise, people will ignore or filter it out! for critical jobs, integrate Jenkins with a service like PagerDuty Jenkins emails myalert@pagerduty.com PagerDuty texts / calls the people on-call until resolved a failing build will wake you up at 4AM

Questions?

Security: Authentication! read-only! matrix-based! HTTP basic auth

Security: Authentication! but what about traffic sniffing?

Security: HTTPS! throw nginx/apache in front of Jenkins #EXAMPLE

Security: Authorization! use project-based matrix authentication! give anonymous/authenticated readonly! use it if you ve got it: LDAP, Active Directory, UNIX! Jenkin s own database also works fine! ensure each user has their own account

Security: Authorization (AWS)! when interfacing with AWS API/CLI, use IAM so Jenkins can only access what it needs

Security: Audit Trails

Questions?

Jenkins User Conference New York, May 17 2012 Thank You To Our Sponsors Platinum Sponsor Gold Sponsors Silver Sponsors Bronze Sponsors #jenkinsconf