Preface
Principles of Continuous Build and Role of Continuous Integration
- Treat Everything as Code
- Walking skeleton
- Bootstrap as much as possible
- Maximize reproducibility outside CI
Build Tools
Gradle Build Tool
- Installing Gradle
- The Gradle Wrapper
- Copying files
- Unpacking archives
- Creating archives
Continuous Integration (CI)
- CI Cloud services
- CI Self-hosted services
Jenkins CI
- Installing Jenkins
- Quick Jenkins starter
- Configuring Jenkins for initial usage
- Manually create a project on Jenkins
- Windows users
Azure DevOps Pipelines
- The product that could have been…
- Create a pipeline
- Building on two different platforms
- Publishing test results
- Publishing JVM artifact to Nexus
Repository Management
- Objectives of BRMs
- Examples of cloud BRMs
- Running your own BRM
Sonatype Nexus
- Quick Nexus starter
- Configuring Nexus for a Maven Repository
- Configuring Gradle for Nexus
Building C# code
- Publishing .NET artifacts using Nuget
Virtual Images
- Strategies for virtual images
- Virtual Image Suppliers or Tools
- Tools for virtual image construction
- Using custom hardware in CI
- Strategies for simplifying installation
Tools
Running Jenkins from a WAR
Manual Configuration Steps in Azure DevOps Pipelines
- Creating a pipeline for an arbitrary Git repository
- Setting up an external Nuget feed