Implementing a continuous delivery (CD) pipeline is not trivial, and the introduction of container technology to the development stack can introduce additional challenges and requirements. In this talk we will look at the high-level steps that are essential for creating an effective pipeline for creating and deploying containerized applications.
Topic covered include:
- The impact of containers on CD
- Adding metadata to container images
- Validating NFR changes imposed by executing Java applications within a container
- Lessons learned the hard way (in production)
A supporting O'Reilly report "Containerizing Continuous Delivery in Java" will also be available, and this contains instructions and code for how to create a Jenkins-based continuous delivery pipeline that takes a series of Java applications and containerizes them, ready for functional and nonfunctional testing, and ultimately, deployment. Learning Outcomes:
- Core learnings focus on the impact of introducing container technology into a typical development and continuous delivery build pipeline stack. The key takeaways are that the container image now becomes the 'single binary' that should be pushed along a build pipeline; adding metedata to a container image is essential (but challenging); and the NFR constraints introduced with container technology must be tested/validated within the pipeline