Continuous Delivery for Cloud Native Java Apps
3h 22mIntermediate2022-01-20
Authors

Kevin Bowersox
Full-Stack Java Developer, Instructor
Course details
Throughout its history, Java has continuously evolved to embrace and adapt to new innovations, from cloud to containers to microservices. This transformation has changed the way teams build and deliver Java applications, and in this course, Kevin Bowersox explains how to establish a continuous delivery pipeline to automate the release process for your applications. Kevin shows how to integrate popular tools like Maven, Jenkins, and Docker to build and package modern Java apps, and explains how tools like Kustomize and Argo CD are used to automate their deployment. If you’re a Java developer looking for a toolset that will accelerate your release cadence without sacrificing your application’s stability, this is the course for you.
Skills covered
Cloud DevelopmentJavaDevOps FoundationsOracleDevOpsProgramming LanguagesCloud ComputingSoftware DevelopmentDeep Dive (X:Y)
Concepts
0. Introduction
- 01 - Delivering modern Java applications
- 02 - What you should know
- 03 - Lab setup
1. Foundations of Continuous Delivery
- 04 - What is continuous delivery
- 05 - Principles of continuous delivery
- 06 - Continuous integration, delivery, and deployment
- 07 - Delivery pipelines
- 08 - Modern Java applications
2. Developing Modern Java Apps
- 09 - Developer workflow
- 10 - Course project overview
- 11 - Local workstation setup
- 12 - Monorepo vs. polyrepo
- 13 - Creating polyrepos in GitHub
3. Building Applications with Gradle
- 14 - Build tools
- 15 - Getting started with Gradle
- 16 - Gradle build structure
- 17 - Gradle Wrapper
- 18 - Gradle tasks and plug-ins
- 19 - Gradle task graph
- 20 - Managing dependencies with Gradle
- 21 - Building Spring Boot applications with Gradle
4. Packaging Applications with Maven
- 22 - Getting started with Maven
- 23 - Maven Java configuration
- 24 - Maven plug-ins
- 25 - Maven life cycle and phases
- 26 - Adding dependencies with Maven
- 27 - Building Spring Boot applications with Maven
5. Continuous Integration with Jenkins
- 28 - Continuous integration overview
- 29 - Getting started with Jenkins
- 30 - Creating a Jenkins pipeline
- 31 - Pipeline stages
- 32 - Environment variables
- 33 - Jenkins projects
- 34 - Maven builds in Jenkins
- 35 - Containers
- 36 - Creating a Dockerfile
- 37 - Building container images in Jenkins
- 38 - Publishing container images to GitHub packages
6. Continuous Delivery with Argo CD
- 39 - Continuous delivery overview
- 40 - Container orchestration
- 41 - Managing Kubernetes resources with Kustomize
- 42 - Creating a CD pipeline
- 43 - Triggering the CD pipeline
- 44 - Automated deployment
- 45 - Configuring Kubernetes security
- 46 - Deploying microservices with Argo CD
- 47 - Continuous delivery with Argo CD
- 48 - Continuous deployment with Argo CD
Course Wrap-Up
- 49 - Course wrap-up
Related courses
- Kubernetes: Continuous Delivery with Spinnaker
- Kubernetes: GitOps with ArgoCD
- DevOps Foundations: Going Cloud Native
- Linux Foundation Certified Cloud Native Platform Engineering Associate (CNPA) Cert Prep
- Microservices Foundations (2018)
- App Center: Continuous Integration and Delivery for iOS
- Azure Governance and Landing Zones: Best Practices for Building a Well-Governed Cloud
- GitHub Actions for CI/CD: Build, Test, and Deploy
Related learn paths
- Building Your Java Skills
- Getting Started with Microservices
- Prepare for the AZ-203 Developing Solutions for Microsoft Azure Exam
- Getting Started with DevOps
- Getting Started as an Azure Developer
- Getting Started with Kubernetes
- MLOps Essentials for Developers and AI Engineers: Tools, Pipelines, Security
- Prepare for the Certified Information Systems Auditor (CISA) Exam