Continuous Integration with Jenkins Training

Answers to Popular Questions:

 
Yes, this class can be tailored to meet your specific training needs.
Yes, we provide Java Programming consulting services.
Yes, group discounts are provided.

Course Description

 
This hands-on course is a good introduction to using Jenkins effectively from start to finish. It teaches the principles of continuous integration and the knowledge of how to implement it with automated test execution using Jenkins. It makes a clear distinction between continuous integration, continuous delivery, and continuous deployment. Participants will use a local copy of Jenkins to create and run jobs, to link to a version control system, to run automated testing, and to generate development reports. In addition, participants will also learn how the interface works between Jenkins and Gradle and how to kick off Gradle scripts.
Course Length: 2 Days
Course Tuition: $1090 (US)

Prerequisites

This course is intended for Java developers who need to know how to use Jenkins to automatically deploy software into a testing environment.

Course Outline

 
This hands-on course is a good introduction to using Jenkins effectively from start to finish. It teaches the principles of continuous integration and the knowledge of how to implement it with automated test execution using Jenkins. It makes a clear distinction between continuous integration, continuous delivery, and continuous deployment. Participants will use a local copy of Jenkins to create and run jobs, to link to a version control system, to run automated testing, and to generate development reports. In addition, participants will also learn how the interface works between Jenkins and Gradle and how to kick off Gradle scripts.
 
Course Topics
• Introducing Continuous Integration and Jenkins
• Installing and Running Jenkins
• A Jenkins Job
• Advanced Jenkins
• Jenkins Plug-ins, specifically SonarQube
• Best Practices
 
Course Objectives
Upon completion of this course, participants will be able to:
• Install and configure Jenkins in a servlet container.
• Create Jenkins builds.
• Configure Jenkins to use Gradle (emphasized), Apache Ant, and Apache Maven.
• Use Jenkins to generate Java coding standards reports, code coverage reports, and change notices.
• Use the SonarQube plug-in to generate a report and to open and review how the information is organized.
 
 
Course Outline
 
I. Introducing Continuous Integration and Jenkins
A. Agile Development
B. Continuous Integration versus Continuous Delivery versus Continuous Deployment
C. History of Jenkins
D. State of the Jenkins Community
 
II. Installing and Running Jenkins Intro
A. Running Jenkins from the jar File
B. Installing Jenkins in a Servlet Container
C. Setup Security
D. Email and Version Control
E. Master/Slave Configurations
 
III. A Jenkins Job
A. Create a job
B. Configure a job
C. Run a job manually
D. Run a job when source code is checked into version control
E. Run a job on a regular schedule
 
IV. Advanced Jenkins
A. Monitor External Jobs
B. Distributed Builds
C. File Fingerprint Tracking
D. Using Jenkins for non-Java Projects
E. Matrix Projects
F. Splitting a Big Job into Smaller Jobs
G. Concept of a Pipeline
 
V. Jenkins Plug-ins
A. Change Reporting
B. Code Coverage
C. Static Analysis
D. Performance Reporting
E. Style Checking
 
VI. SonarQube Plug-in
A. Install the SonarQube Plug-in
B. Integrate Jenkins with SonarQube
C. Locate and Open Generated Report
D. Review the Report’s Organization
 
VII. Best Practices for Jenkins
A. Culture Change
1. Bring down the risk by incremental changes
2. Check in code daily
3. Fast feedback loop
B. Attend to broken builds
1. Build alerts email, pagers etc. on broken builds.
C. Write unit tests
1. Follow test pyramid
D. Re-use build Scripts across IDE and Jenkins
1. Leverage Gradle.
E. Use Discover Templates
 
VIII. Exercises
A. Lab 1
B. Lab 2
C. Lab 3
D. Lab 4

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Java Programming Uses & Stats

Java Programming is Used For:
Android & IOS Development Software Products Video Games Desktop GUI's
Difficulty
Popularity
Year Created
1995
Pros

Most Commonly Used: 
According to Oracle, three billion devices run on Java.  And, because of its real-world applications, it consistently ranks at the top of the TIOBE Programming Community Index. 

Great Career Choice: 
Some of the fastest-growing salaries in the U.S. in 2018 are for Java developers.  (Glassdoor)  

Android Apps Development:
Developers predominatly use their Java skills in building apps for Google's Android. The Android platform is the number one mobile paltform in the world

It Can Run On Any Platform:
Java can compile on Windows and run the same compiled file on Linux, Windows and Mac.

Great Supporting IDE's:
Over the years, coding in Java has become simpler with the introduction of open source development tools, i.e. Eclipse and NetBeans that use Java capabilities for debugging.  
 

Cons

Uses a Lot of Memory:
Performance can be significantly slower with Java and more memory-consuming than natively compiled languages such as C or C++.

Difficulty in Learning: 
Learning Java can be a bit challenging if you are a beginner.  However, once you get the hang of Object Oriented Programming and a decent grasp of the syntax, you will be well on your way.

Slow Start Up Times:
There is quite a bit of one-time initialization done by JDK classes before compiling as well as loading classes and verification (making sure code doesn't do evil things, all of which takes longer that some other languages such as C. 

Verbose and Complex Code:
Long, over-complicated sentences make code less readable and scannable. Compare to let's say Python, we can see how clear Python code appears: It doesn’t require semicolons; uses “and,” “or,” and “not” as operators instead of Java’s “&&,” “||,” and “!”; and generally has fewer bells and whistles such as parentheses or curly braces.

Commercial License Cost:
Companies have to prepare for the changes that Oracle will institute in 2019 . Today, the current version of Java is free and available for redistribution for general purpose computing. However, If you are a DEVELOPER, Oracle recommends you review the roadmap information for Java SE 8 and beyond and take appropriate action depending on the type of application you develop and your distribution mode.

Java Programming Job Market
Average Salary
$102,000
Job Count
26,856
Top Job Locations

New York City 
San Jose
Washington D.C, 

Complimentary Skills to have along with Java Programming

- If you are an experienced Java developer, learning a complimentary language to Java should come much more naturally.  As an example JetBrains recently created the Kotlin programming language which is officially supported by Google for mobile development.  Kotlin compiles to Java bytecode and runs on the JVM; it's purported to address many of Java's shortcomings...

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.