We're offering 20% off September Live Online classes! See which courses are applicable.   |   Details >

  
AccountIcon BigDataIcon BlogIcon default_resource_icon CartIcon checkmark_icon cloud_devops_icon computer_network_admin_icon cyber_security_icon gsa_schedule_icon human_resources_icon location_icon phone_icon plus_icon programming_software_icon project_management_icon redhat_linux_icon search_icon sonography_icon sql_database_icon webinar_icon

Search UMBC Training Centers

Cloud Computing & DevOps

Continuous Integration with Maven, Jenkins and Artifactory

+ View more dates & times
    
    
    
    
                     
  • Overview

    This course will provide students with an understanding of  the Apache Maven build process, the principles of continuous integration, and the knowledge of how to implement continuous integration with automated test execution using Jenkins, Maven, and the Artifactory repository manager. Students will use a local copy of Jenkins and to create and run Maven jobs, link to a version control system, run automated testing and generate development reports, and configure the system to log build reports and generated artifacts to an Artifactory repository.

    Jenkins is an award-winning application that monitors executions of repeated jobs, such as building a software project or jobs run by cron. Among those things, current Jenkins focuses on the following two jobs:

    • Building/testing software projects continuously.  Jenkins provides an easy-to-use so-called continuous integration system, making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build. The automated, continuous build increases development productivity.
    • Monitoring executions of externally-run jobs, such as cron jobs and procmail jobs, even those that are run on a remote machine. For example, with cron, all you receive is regular e-mails that capture the output, and it is up to you to look at them diligently and notice when it broke. Jenkins keeps those outputs and makes it easy for you to notice when something is wrong.
  • Who Should Take This Course

    AUDIENCE

    This course is targeted to developers who will implement Continuous Integration using Maven, Jenkins and the Artifactory repository manager.  Students learn to create Maven projects, configure Jenkins to build those projects, and manage the artifacts using Artifactory.

    PREREQUISITES

    Attendees should have familiarity with Java development practices.

  • Why You Should Take This Course

    Topics covered include:

    • Download and install Maven
    • Build a project
    • Work with Maven’s directory structure, plugins, repositories, and more
    • Understand the Project Object Model (POM)
    • Build a complete web application using Maven
    • Build and activate profiles
    • Use Maven from Eclipse via the m2eclipse plugin
    • Install and configure Jenkins in a servlet container
    • Create Jenkins builds
    • Configure and use Apache Ant and Apache Maven with Jenkins
    • Use Jenkins to generate Java coding standards reports, code coverage reports, and change notices
    • Use Jenkins to automatically deploy software into a testing environment.
    • Configure Maven and Jenkins to deploy the generated artifacts to Artifactory
  • Schedule
  • Course Outline

    CHAPTER 1. 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

    CHAPTER 2. 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

    CHAPTER 3. INSTALLING AND RUNNING APACHE MAVEN

    • Downloading Maven
    • Installing Maven
    • Run From Command Line
    • Running Inside an IDE
    • Settings.xml
    • Local Repository
    • Summary

    CHAPTER 4. 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

    CHAPTER 5. 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

    CHAPTER 6. 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

    CHAPTER 7. A WEB APPLICATION IN MAVEN

    • A More Complex Project
    • Putting it Together With Maven
    • Packaging the Target Artifact
    • The Source Tree
    • Dependencies
    • Transitive Dependencies
    • Dependency Scope
    • Working With Servers
    • Declaring and Configuring Plugins
    • Running the Plugin
    • Binding a Plugin Goal to the Lifecycle
    • Archetypes
    • Summary

    CHAPTER 8. COMMONLY USED PLUGINS

    • Maven Plugins
    • Declaring and Configuring Plugins
    • Running the Plugin
    • Binding a Plugin Goal to the Lifecycle
    • Maven Surefire Test Plugin
    • Failsafe Plugin
    • Site Plugin
    • JavaDoc Plugin
    • PMD Plugin
    • Code Coverage – Cobertura
    • Summary

    CHAPTER 9. MULTI-MODULE BUILDS

    • Introduction
    • The Reactor
    • Reactor Sorting
    • Multi-Module Build by Example
    • Summary

    CHAPTER 10. POM PROJECTS

    • Project Object Model (POM)
    • The overall POM structure
    • Storing POM
    • Summary

    CHAPTER 11. WRITING PLUGINS (MAVEN)

    • What is Maven Plugin
    • Example of Using a Plugin
    • Create a Custom Plugin
    • Create a Custom Plugin (cont.)
    • Plugin Management
    • Summary

    CHAPTER 12. CREATING ARCHETYPES

    • Introduction to Maven Archetypes
    • Introduction to Maven Archetypes (cont.)
    • Using Interactive Mode to generate Goal
    • Common Maven Archetypes
    • Summary

    CHAPTER 13. REPOSITORY MANAGEMENT

    • Introduction
    • Proxy Remote Repositories
    • Release Artifacts
    • Snapshot Artifacts
    • Reasons to Use a Repository Manager
    • Repository Coordinates
    • Addressing Resources in a Repository
    • Summary

    CHAPTER 14. RELEASE MANAGEMENT

    • What is release Management?
    • Release Management with Nexus
    • Release Management with Maven
    • Summary

    CHAPTER 15. JENKINS PLUGIN

    • Introduction
    • Jenkins Plugins – SCM
    • Jenkins Plugins – Build and Test
    • Jenkins Plugins – Analyzers
    • Jenkins for Teams
    • Installing Jenkins Plugins
    • Summary

    CHAPTER 16. SECURING JENKINS

    • Jenkins Security – Overview
    • Jenkins Security
    • Authentication
    • Authorization
    • Confidentiality
    • Activating Security
    • Configure Authentication
    • Using Jenkins’s Internal User Database
    • Creating Users
    • Authorization
    • Matrix-Based Security
    • Note – Create the Administrative User
    • Project-based Matrix Authorization
    • Project-Based Authentication
    • Conclusion

    CHAPTER 17. BEST PRACTICES FOR JENKINS

    • Best Practices

    CHAPTER 18. DISTRIBUTED BUILDS WITH JENKINS

    • Distributed Builds – Overview
    • Distributed Builds – How?
    • Slave Machines
    • Configure Jenkins Master
    • Configure Projects
    • Conclusion
  • FAQs
    Is there a discount available for current students?

    UMBC students and alumni, as well as students who have previously taken a public training course with UMBC Training Centers are eligible for a 10% discount, capped at $250. Please provide a copy of your UMBC student ID or an unofficial transcript or the name of the UMBC Training Centers course you have completed. Online courses are excluded from this offer.

    What is the cancellation and refund policy?

    Student will receive a refund of paid registration fees only if UMBC Training Centers receives a notice of cancellation at least 10 business days prior to the class start date for classes or the exam date for exams.

Contact Us