|
via Udemy |
Go to Course: https://www.udemy.com/course/building-java-using-gradle-on-jenkins/
With so many terms, techniques, and tools available, navigating how about building and delivering software can be overwhelming. This course picks a path through that maze, specifically focused on Java, and walks through a set of those options for delivery. Specifically using a combination of Docker, Jenkins, Git, and Gradle. Every aspect of this course also comes with a Git repository that contains both details and the examples being discussed.Learners can follow along by running their own development environments for executing the examples, or just use this as a deep-dive explanation into the inner workings of Java-Jenkins-Gradle delivery. Either way, let working code be your guide. The course structure starts with setting up a basic development environment, and ends with using a Jenkins declarative pipeline to execute a Gradle build using the Java, Maven, Jacoco, and PMD plugins, that on the pass of all the quality gates publishes the resulting Java Library to a Maven Repository.It additionally covers the concepts of containerization, configuration as code, static code analysis, unit testing, code coverage, and pipelines as code. The course is otherwise divided into three sections:(1) InfrastructureGit via Github - Setting up Git so that you can use SSH to get the examples.Docker and Docker Compose - Installing Docker and Docker Compose to be able to run containers locally.Jenkins via Docker Compose - Running Jenkins locally in a container.(2) Building JavaBuilding Java 101 - The basics of how Java code is turned into a Jar.Gradle and the Java Plugin - Using the Java Plugin to test and build a Jar.Gradle and Java Code Coverage - How to generate code coverage for unit testing, and set a quality gate.Gradle and Java Static Code Analysis - How to run PMD, and set a quality gate.Gradle and Java Library Publishing - How to publish a Jar to a Maven Repository.(3) Jenkins AutomationFreestyle Job - Building, Testing, and Delivering the Jar using a Freestyle Job.Scripted Pipeline - Building, Testing, and Delivering the Jar using a Scripted Pipeline.Declarative Pipeline - Building, Testing, and Delivering the Jar using a Declarative Pipeline.