This course provides a hands-on, real-world application of how to build a continuous delivery pipeline using popular tools like Maven and Jenkins with Java
Overview
Syllabus
Introduction
- Delivering modern Java applications
- What you should know
- Lab setup
- What is continuous delivery?
- Principles of continuous delivery
- Continuous integration, delivery, and deployment
- Delivery pipelines
- Modern Java applications
- Developer workflow
- Course project overview
- Local workstation setup
- Monorepo vs. polyrepo
- Creating polyrepos in GitHub
- Build tools
- Getting started with Gradle
- Gradle build structure
- Gradle Wrapper
- Gradle tasks and plug-ins
- Gradle task graph
- Managing dependencies with Gradle
- Building Spring Boot applications with Gradle
- Getting started with Maven
- Maven Java configuration
- Maven plug-ins
- Maven life cycle and phases
- Adding dependencies with Maven
- Building Spring Boot applications with Maven
- Continuous integration overview
- Getting started with Jenkins
- Creating a Jenkins pipeline
- Pipeline stages
- Environment variables
- Jenkins projects
- Maven builds in Jenkins
- Containers
- Creating a Dockerfile
- Building container images in Jenkins
- Publishing container images to GitHub packages
- Continuous delivery overview
- Container orchestration
- Managing Kubernetes resources with Kustomize
- Creating a CD pipeline
- Triggering the CD pipeline
- Automated deployment
- Configuring Kubernetes security
- Deploying microservices with Argo CD
- Continuous delivery with Argo CD
- Continuous deployment with Argo CD
- Course wrap-up
Taught by
Kevin Bowersox