This is a beginner's course designed to show how to setup and run a Jenkins CI server starting with continuous inspection (build, test and analysis) for users of MacOS-based systems. This course provides a strong foundation for implementing continuous inspection and integration at your company or studio. In order to keep the course short and to-the-point, several decisions were made in order to provide a complete path to continuous integration.
The pipeline created in this course consists of the following:
- Jenkins CI server installed and configured on Windows
- Git as the source control system
- Java as the main programming language of build projects
- Maven as the build tool
This set of tools provides a comprehensive, end-to-end implementation continuous integration pipeline. Jenkins can be installed on many operating systems and supports a myriad of tools and technologies -- which means, this course provides tremendous value to those comfortable or interested in other operating systems and/or technologies.
Introduction provides an overview for the course, which leas to the Core Concepts for Jenkins. This provides a foundation for the remainder of the course.
Quick Installation provides an abbreviated step-by-step instructions on how to setup Jenkins and all the related tools specifically on Windows. Full Installation details is covered in the bonus section of the course.
Jenkins Basics provides a first look at Jenkins at work with a very simple "freestyle" project. This allows us to learn the Jenkins interface and the key features it provides.
After our initial introduction to Jenkins, we Manage Jenkins plugins and global configuration.
Then, we dive into Maven Projects specifically -- since Jenkins can understand Maven and thus provides special features for Maven projects -- with the right plugins installed.
We venture beyond the basics with Scheduled Projects and periodically Polling Source Control, which are closely related. Then we look at how to Link Projects together by calling upstream and downstream projects. Finally, we organize our projects with Views.
Presentations provide audio/video training of conceptual ideas in each major area or introduction of new concepts.
Screencasts provide a video of the instructor's computer system with any actions, commands, or screens displayed and narrated. There are several hours of screencat video content -- it makes up the vast majority of the course. Any command line based screencast will include a command listing in the lecture downloads.