Course duration
- 2 days
Course Benefits
- Install and configure Jenkins and Nexus in a servlet container
- Create Nexus repositories of various kinds
- Configure Maven projects to use Nexus repositories
- Create and configure Apache Ivy/Ant build scripts to access Nexus repositories.
- Configure and use Apache Ant and Apache Maven with Jenkins
- Execute a release process on deployable artifacts
Course Outline
- Introduction to Dependency Management
- Terminology and Basic Concepts
- Artifacts
- Build Process
- Source Code and Source Code Management
- Development Process
- Managing Code
- Dependencies
- Repeatable Build
- Dependency Management
- Historical Dependency Management Practices
- Dependencies in Version Control?
- Modern Practices
- Conclusion
- Introduction to Continuous Integration and Jenkins-CI
- Agile Development
- Agile Development (cont'd)
- What is Continuous Integration
- What is Continuous Integration (cont'd)
- What is Continous Integration (cont'd)
- Typical Setup for Continuous Integration
- Jenkins Continuous Integration
- Jenkins Features
- Running Jenkins
- Summary
- Repository Management
- Maven's Approach to Artifacts
- Publishing Artifacts
- Summary of Maven's Artifact Handling
- Repository
- Repository Manager
- Proxy Remote Repositories
- Types of Artifacts
- Release Artifacts
- Snapshot Artifacts
- Reasons to Use a Repository Manager
- Repository Coordinates
- Addressing Resources in a Repository
- Summary
- Installing and Running Jenkins
- Downloading and Installing Jenkins
- Running Jenkins as a Stand-Alone Application
- Running Jenkins on an Application Server
- Installing Jenkins as a Windows Service
- Summary
- A Jenkins Job
- Different types of Jenkins job
- Configuring Source Code Management(SCM)
- Working with Subversion
- Build Triggers
- Schedule Build Jobs
- Polling the SCM
- Maven Build Steps
- Summary
- Apache Ivy
- What is Apache Ivy
- Using Ivy
- Basic Operation
- Typical Dependency Life Cycle
- Ivy.xml
- Using Maven Dependencies
- The 'build.xml' file
- When You Run the Build Script...
- Reporting Dependencies
- Installing Ivy
- Ivy Settings File
- Conclusion
- Introduction to Apache Maven
- Build Tools for Java
- Build Tools for Java (cont'd)
- History of Build Tools
- Traditional Scripting
- 'make'
- Problems with Make
- Manual Build with JavaC
- ANT
- Pros and Cons of Ant
- Apache Maven
- Goals of Maven
- What is Apache Maven?
- What is Apache Maven (cont'd)
- Why Use Apache Maven?
- The Maven EcoSystem
- Consistent Easy-to-Understand Project Layout
- Convention Over Configuration
- Maven is Different
- Maven Projects have a Standardized Build
- Effect of Convention Over Configuration
- Importance of Plugins
- A Key Point on Maven!
- Summary – Key Features of Maven
- Installing and Running Apache Maven
- Downloading Maven
- Installing Maven
- Run From Command Line
- Running Inside an IDE
- Settings.xml
- Local Repository
- Summary
- Getting Started with Maven
- Terminology and Basic Concepts
- Artifacts
- Lifecycle
- Default Lifecycle
- Plugins
- Running Maven - the Story So Far
- Running Maven from an IDE
- Common Goals
- pom.xml
- Example
- Example (cont'd)
- Artifact Coordinates
- Standard Layout for Sources
- Summary
- Nexus Repositories
- Sonatype Nexus
- Nexus Editions
- Types of Repositories
- Publishing Artifacts – From Maven
- Publishing Artifacts – Manually
- Lab
- Release Management
- What is release Management?
- Release Management with Nexus
- Release Management with Maven
- Summary
- Chapter 12. Introduction to DevOps
- DevOps
- Collaboration of People
- Convergence of Process
- DevOps Builds on Process Theory
- DevOps Tools
- Conclusion
Class Materials
Each student will receive a comprehensive set of materials, including course notes and all the class examples.
Experience in the following is required for this Maven class:
- Familiarity with Java development practices.
Instructor-led courses are offered via a live Web connection, at client sites throughout Europe, and at our Geneva Training Center.