The Jenkins open source continuous integration server now provides a “pipeline” scripting language which can define jobs that persist across server restarts, can be stored in a source code repository and can be versioned with the source code they are building. By defining the build and deployment pipeline in source code, teams can take full control of their build and deployment steps. The Docker project provides lightweight containers and a system for defining and managing those containers. The Jenkins pipeline and Docker containers are a great combination to improve the portability, reliability, and consistency of your build process.
This session will demonstrate Jenkins and Docker in the journey from continuous integration to DevOps.
3. Introduction
• I’m Mark Waite
– Technical Evangelist at CloudBees
– Previously at CA Technologies, PTC, CoCreate, & HP
• Builds, tools, and rapid feedback for a long time
• I maintain the Jenkins git plugin
6. Jenkins Pipeline
• Pipeline as Code
– Capture the entire continuous delivery process
– Check a Jenkinsfile into your source repo
• jenkins.io/doc/book/pipeline
21. Build
• Don't reinvent your build system in Jenkins Pipeline
– Think of Pipeline as glue
• Goal:
– Perform a reproducible build
– Create an artifact which can used later
o To run tests against
o To deploy to an environment
• In this case, we're using Maven.
36. Deploy
• Don't reinvent your deployment system in Jenkins
PIpeline
– Think of Pipeline as glue
• "Deployment" may have different meanings
– Deploying to AWS/Azure
– Deploying to a physical datacenter
– Uploading to an app store
– Uploading to an internal artifact server
43. Notifications
• Feedback to the team is a key part of continuous delivery
• Jenkins Pipeline can be used for:
– Sending email
– Sending messages to:
o HipChat
o Slack
– Updating JIRA tickets
jenkins.io/node/tags/notifications/