A talk given to the San Francisco Jenkins Area Meetup (JAM) in January of 2016 on the current state of the Jenkins project and some ideas we're looking at for the future.
Introduction to Jenkins and how to effectively apply Jenkins to your projects.
Jenkins Growth , Companies using Jenkins , Most downloaded and Used Plugins.
Jenkins is an open source automation server written in Java. Jenkins helps to automate the non-human part of software development process, with continuous integration and facilitating technical aspects of continuous delivery. It is a server-based system that runs in servlet containers such as Apache Tomcat.
A talk given to the San Francisco Jenkins Area Meetup (JAM) in January of 2016 on the current state of the Jenkins project and some ideas we're looking at for the future.
Introduction to Jenkins and how to effectively apply Jenkins to your projects.
Jenkins Growth , Companies using Jenkins , Most downloaded and Used Plugins.
Jenkins is an open source automation server written in Java. Jenkins helps to automate the non-human part of software development process, with continuous integration and facilitating technical aspects of continuous delivery. It is a server-based system that runs in servlet containers such as Apache Tomcat.
Seven Habits of Highly Effective Jenkins Users (2014 edition!)Andrew Bayer
What plugins, tools and behaviors can help you get the most out of your Jenkins setup without all of the pain? We'll find out as we go over a set of Jenkins power tools, habits and best practices that will help with any Jenkins setup.
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeBrian Dawson
This is a presentation given at the March 16th San Diego DevOps Meet-up covering some of the upcoming activities around Jenkin 2.0 and the Pipeline plugins which provide for Pipeline-as-Code and enable Jenkins with 1st class pipelines and stages.
Jenkins is a unique piece of software, lots of people and enterprises use it to deploy and build their software and also their infrastructure. It has tons of plugins, and can do virtually anything. It is important for both devs and ops. This talk will be about how you can automate and test your Jenkins instances. In the past, the tooling around it was not so great, but it has changed. Tools like Jenkins Pipeline and Job DSL plugin has entered the game and are here to stay.
Linux containers and Docker specifically have revolutionized the way applications are run at scale, but testing can greatly benefit from those technologies too.Containers allow to run tests in isolation with a minimum performance penalty, increased speed with respect to virtual machine based tests and easier configuration and less complexity for integration testing. Testing with containers allows running tests in a new, clean environment for each execution, minimizing false positives and environment corruption. At the same time it allows reusing container clusters to run development, testing and production workloads.You will learn to effectively use Jenkins with Docker and Kubernetes, a multi host Docker clustering technology, to run your Jenkins jobs in isolated containers for each execution at scale.
http://www.agiletestingdays.com/session/using-docker-for-testing/
Jenkins is the leading open source continuous integration tool. It builds and tests our software continuously and monitors the execution and status of remote jobs, making it easier for team members and users to regularly obtain the latest stable code.
Continuous Integration/Deployment with Docker and JenkinsFrancesco Bruni
“Continuous Integration doesn’t get rid of bugs, but it does make them dramatically easier to find and remove” M. Fowler
Jenkins and Docker are cool technologies. Here's how they serve in a continuous integration based process and how they could be exploited to deliver new version of the same software.
The slides present the whole process along with real code snippets.
How to add project based jenkings authorisation on your build server. This shows the benefits and the caveats of using this approach to secure your build server projects so that people can only view what they are authorised to view.
Continuous Delivery Pipeline - Patterns and Anti-patternsSonatype
Juni Mukherjee, Consultant CI/CD, Lifelock
Continuous Delivery (CD) is important for a business to be sustainable. However, CD is not a discipline on it’s own (not yet), and the science behind it is rarely covered in schools.
The intended audience for this talk are engineers, architects and technical managers who are starting out to build Continuous Delivery Pipelines, or are seeking to improve ROI on their existing investments.
Every company aspires to sustainably flow their ideas into the hands of their customers, and reduce Time2Market. This talk goes into the heart of this burning topic and provides technical recipes that the audience can take away.
This talk would cover:
a) Domain Driven Design (DDD) for CD, based on concepts authored by Eric Evans
The Continuous Delivery Pipeline can be modeled as a domain.
b) How the CD Pipeline, along with its assets, can be orchestrated with Jenkins
The Continuous Delivery Pipeline domain can be orchestrated with Jenkins 2.0, aka Pipeline-as-code. Each box in the model could be authored as a stage in Jenkinsfile.
c) Pipeline patterns and anti-patterns
There are some trends that are consistently observed in the industry.
d) KPIs to measure ROI from the Pipeline
“Show me the money!”. This is the “Jerry Maguire moment”, whereby the ROI is demonstrated.
Seven Habits of Highly Effective Jenkins Users (2014 edition!)Andrew Bayer
What plugins, tools and behaviors can help you get the most out of your Jenkins setup without all of the pain? We'll find out as we go over a set of Jenkins power tools, habits and best practices that will help with any Jenkins setup.
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeBrian Dawson
This is a presentation given at the March 16th San Diego DevOps Meet-up covering some of the upcoming activities around Jenkin 2.0 and the Pipeline plugins which provide for Pipeline-as-Code and enable Jenkins with 1st class pipelines and stages.
Jenkins is a unique piece of software, lots of people and enterprises use it to deploy and build their software and also their infrastructure. It has tons of plugins, and can do virtually anything. It is important for both devs and ops. This talk will be about how you can automate and test your Jenkins instances. In the past, the tooling around it was not so great, but it has changed. Tools like Jenkins Pipeline and Job DSL plugin has entered the game and are here to stay.
Linux containers and Docker specifically have revolutionized the way applications are run at scale, but testing can greatly benefit from those technologies too.Containers allow to run tests in isolation with a minimum performance penalty, increased speed with respect to virtual machine based tests and easier configuration and less complexity for integration testing. Testing with containers allows running tests in a new, clean environment for each execution, minimizing false positives and environment corruption. At the same time it allows reusing container clusters to run development, testing and production workloads.You will learn to effectively use Jenkins with Docker and Kubernetes, a multi host Docker clustering technology, to run your Jenkins jobs in isolated containers for each execution at scale.
http://www.agiletestingdays.com/session/using-docker-for-testing/
Jenkins is the leading open source continuous integration tool. It builds and tests our software continuously and monitors the execution and status of remote jobs, making it easier for team members and users to regularly obtain the latest stable code.
Continuous Integration/Deployment with Docker and JenkinsFrancesco Bruni
“Continuous Integration doesn’t get rid of bugs, but it does make them dramatically easier to find and remove” M. Fowler
Jenkins and Docker are cool technologies. Here's how they serve in a continuous integration based process and how they could be exploited to deliver new version of the same software.
The slides present the whole process along with real code snippets.
How to add project based jenkings authorisation on your build server. This shows the benefits and the caveats of using this approach to secure your build server projects so that people can only view what they are authorised to view.
Continuous Delivery Pipeline - Patterns and Anti-patternsSonatype
Juni Mukherjee, Consultant CI/CD, Lifelock
Continuous Delivery (CD) is important for a business to be sustainable. However, CD is not a discipline on it’s own (not yet), and the science behind it is rarely covered in schools.
The intended audience for this talk are engineers, architects and technical managers who are starting out to build Continuous Delivery Pipelines, or are seeking to improve ROI on their existing investments.
Every company aspires to sustainably flow their ideas into the hands of their customers, and reduce Time2Market. This talk goes into the heart of this burning topic and provides technical recipes that the audience can take away.
This talk would cover:
a) Domain Driven Design (DDD) for CD, based on concepts authored by Eric Evans
The Continuous Delivery Pipeline can be modeled as a domain.
b) How the CD Pipeline, along with its assets, can be orchestrated with Jenkins
The Continuous Delivery Pipeline domain can be orchestrated with Jenkins 2.0, aka Pipeline-as-code. Each box in the model could be authored as a stage in Jenkinsfile.
c) Pipeline patterns and anti-patterns
There are some trends that are consistently observed in the industry.
d) KPIs to measure ROI from the Pipeline
“Show me the money!”. This is the “Jerry Maguire moment”, whereby the ROI is demonstrated.
From Continuous Integration to Continuous Delivery with Jenkins - javaland.de...CloudBees
The concept of DONE have changed in project teams to evolve from The unit tests are green to The software is shippable in production.
Continuous Integration mutated into Continuous Delivery and this process was no longer limited to the DEV teams but had to integrate the OPS team to cover the deployment phases of the applications.
Come and discover how the Continuous Integration server Jenkins CI became the nexus of Continuous Delivery orchestrating the phases of complex Application Lifecycle processes.
Discover how Jenkins is becoming the lingua franca between DEV teams and OPS teams to deliver applications faster.
Implementing High Availability Caching with MemcachedGear6
Typical Memcached deployments do not comprehensively address web site requirements for high availability. Depending on your web architecture, a single failure can disable your web caches. This presentation offers real world solutions to solving <a>high availability</a> challenges common to large, dynamic websites with Memcached, specifically:
* Options and benefits for deploying high availability services within Memcached
* How companies are approaching high availability
* Considerations on building and deploying high availability
o Recommendations for a typical Memcached environment
o Open source tools available
o High level costs for deployment
Too often, recruiting is a reactive game instead of proactive.
By examining the gaps in your funnel, you’ll improve each phase of the recruiting strategy from employment branding to the hire.
Join us on Tuesday, June 14 as Matt Singer, VP of Marketing at Jobvite, dives into data from our own database of 45 million job seekers and thousands of our own customers. He’ll show:
Why employer branding is the first step in building a positive application process.
How to convert more job seekers to applicants by a deeper analysis of your job ads.
Ways to analyze the performance your ATS, best utilize the tool, and get a better ROI.
It can take hundreds of candidates to fill one position. That may seem excessive, but after considering all the steps candidates go through — seeing a requisition, applying, interviewing, receiving an offer, and finally accepting the position — it’s easy to see all the ways candidates are weeded out. The good news? Recruiting can be optimized at every step through employer branding, sourcing, candidate experience curation, selection and insights. In this session, Andre Boulais, talent acquisition specialist at Jobvite, will share how brands can improve and accelerate every step of the funnel to bring in high-quality talent quicker than ever before.
In this session, attendees will learn:
• A concrete knowledge of each step of the recruiting funnel.
• How the recruiting funnel maps to candidate experience.
• Actionable tips on optimizing each step of the recruiting funnel.
Speaker: Andre Boulais, Strategic Account Director, Jobvite
A brief description of the admissions process overview through the lens of the changing "Admissions Funnel." This presentation would be most helpful for brand new admissions personnel or for others who want to know more about the craft of admissions but will not be directly involved in it - board members, for example.
JUC NYC 2012: Yale Build and Deployment with JenkinsE. Camden Fisher
Yale is a diverse place with a wide variety of technologies and a wide range of developer skillsets. This talk will walk you through the journey that we took to standardize where we could and to bring Yale software build and deploy under control. Our goals are to reduce complexity, increase security, increase agility, accept responsibility for what should be ours and otherwise get out of the developer's way. Jenkins is an integral piece of meeting these goals.
Jenkins data mining on the command line - Jenkins User Conference NYC 2012Noah Sussman
UPDATED: watch the video of this talk, here: http://www.youtube.com/watch?v=t6IJu3uLZOs
Emergent questions arise in the course of running a CI system. Is this test flaky? How often does that message come up in the console log? Which change sets were in the builds that ran between 8pm and midnight?
To find correlations between arbitrary events it becomes necessary to look beyond the information provided by the Jenkins UI. I will explain how to use command line tools to discover, analyze and graph patterns in Jenkins data.
Greg Wester - Salesforce.com
Thomas Kim - Salesforce.com
Learn about Salesforce's diversified test automation strategy, which spans both the public cloud and a private VM farm. Salesforce engineers will present an overview of how Jenkins is augmenting their existing CI runner and decreasing cycle time.
JUC NY - Advanced Continuous Deployment with JenkinsXebiaLabs
Slides from the JUC New York session on "Advanced Continuous Deployment with Jenkins" on May 17th 2012. More details at http://www.cloudbees.com/content/2012-jenkins-user-conference-newyork-abstracts.cb#AndrewPhillips
Pipeline as code - new feature in Jenkins 2Michal Ziarnik
What is pipeline as code in continuous delivery/continuous deployment environment.
How to set up Multibranch pipeline to fully benefit from pipeline features.
Jenkins master-node concept in Kubernetes cluster.
Conduct a few internal pen tests and you’re bound to come across Jenkins, the world’s most popular build automation server. When you encounter it, what do you do? Go beyond a 5-minute Google search and checking for open script consoles. This talk dives into various ways to exploit Jenkins and how to move laterally into sensitive systems.
This presentation walks through a Jenkins as Code approach that aims to fully automate and describe the creation of Infrastructure, Application and Configuration as Code.
We treat our applications with a strong 'as code' approach, but often forget about the critical operational tools. This presentation shows how it is possible to create a code first approach to creating and managing a Jenkins Service.
Working code repository is available at https://bitbucket.org/stevemac/dockerfiles
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Best Practices for Mission-Critical Jenkins
1. Jenkins User Conference New York, May 17 2012 #jenkinsconf
Best Practices for a Mission-
Critical Jenkins
Mike Rooney
Consultant/Jenkins Connoisseur
http://linkedin.com/in/mcrooney
2. Jenkins User Conference New York, May 17 2012 #jenkinsconf
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
3. Jenkins User Conference New York, May 17 2012 #jenkinsconf
Hand-check: How critical is your Jenkins?
5. Jenkins User Conference New York, May 17 2012 #jenkinsconf
Problems
disk failure / data loss
hardware failure / downtime
load / latency
6. Jenkins User Conference New York, May 17 2012 #jenkinsconf
Solution
make Jenkins instance trivial to respin
– ideally a one-liner that even handles DNS
– “create.sh jenkins”
7. Jenkins User Conference New York, May 17 2012 #jenkinsconf
Persistence
$JENKINS_HOME
– plugins, users, jobs, builds, configuration
8. Jenkins User Conference New York, May 17 2012 #jenkinsconf
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-data-subversion
9. Jenkins User Conference New York, May 17 2012 #jenkinsconf
Persistence
EBS on AWS
– put $JENKINS_HOME on an EBS volume
– snapshot nightly via a Jenkins job
– trivial to attach to a new host, restore snapshot
a NAS + RAID / backups works similarly
10. Jenkins User Conference New York, May 17 2012 #jenkinsconf
Environment
Jenkins is more than $JENKINS_HOME
– specific Jenkins .war / .deb / .rpm version
– startup options
– dependent packages: git, ruby gems, pip
– ssh keys, m2 settings
– swap, tmpfs, system configuration
11. Jenkins User Conference New York, May 17 2012 #jenkinsconf
Environment
configuration
management:Puppet/Chef*
* https://wiki.jenkins-ci.org/display/JENKINS/Puppet
12. Jenkins User Conference New York, May 17 2012 #jenkinsconf
Environment
standalone
– puppet apply path/to/your/manifest.pp
puppetmaster
– set up /etc/puppet.conf, run puppet agent
13. Jenkins User Conference New York, May 17 2012 #jenkinsconf
Putting it Together
have manifest handle $JENKINS_HOME
– clone git repo, mount EBS volume, etc
14. Jenkins User Conference New York, May 17 2012 #jenkinsconf
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
15. Jenkins User Conference New York, May 17 2012 #jenkinsconf
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
16. Jenkins User Conference New York, May 17 2012 #jenkinsconf
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)
17. Jenkins User Conference New York, May 17 2012 #jenkinsconf
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?t
hreadID=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…
18. Jenkins User Conference New York, May 17 2012 #jenkinsconf
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
20. Jenkins User Conference New York, May 17 2012 #jenkinsconf
High Availability Artifacts
protect: artifacts, reports, userContent
from:
– planned downtime:
Jenkins restarts/upgrades, server upgrades
– unplanned downtime:
software/hardware failure
– unresponsive Jenkins:
very high load
21. Jenkins User Conference New York, May 17 2012 #jenkinsconf
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
22. Jenkins User Conference New York, May 17 2012 #jenkinsconf
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
23. Jenkins User Conference New York, May 17 2012 #jenkinsconf
Fault-tolerant Jobs
design with possible downtime in mind
– SCM triggering is great, but keep polling too
24. Jenkins User Conference New York, May 17 2012 #jenkinsconf
Fault-tolerant Jobs
*/15 * * * *
– BAD:
update users where join_time < 15m ago
– GOOD:
update users where id > last_id_updated
25. Jenkins User Conference New York, May 17 2012 #jenkinsconf
Error handling
for non-critical jobs, use email / IM post-
build 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
27. Jenkins User Conference New York, May 17 2012 #jenkinsconf
Security: Authentication
read-only
matrix-based
HTTP basic auth
28. Jenkins User Conference New York, May 17 2012 #jenkinsconf
Security: Authentication
but what about traffic sniffing?
29. Jenkins User Conference New York, May 17 2012 #jenkinsconf
Security: HTTPS
throw nginx/apache in front of Jenkins
– proxy mode
– ssl (self-signed or just buy one)
30. Jenkins User Conference New York, May 17 2012 #jenkinsconf
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
– each build will have an audit trail
31. Jenkins User Conference New York, May 17 2012 #jenkinsconf
Security: Authorization (AWS)
when interfacing with AWS API/CLI, use
IAM so Jenkins can only access what it
needs
33. Jenkins User Conference New York, May 17 2012 #jenkinsconf
Thank You To Our Sponsors
Platinum
Sponsor
Gold
Sponsors
Silver
Sponsors
Bronze
Sponsors