Jenkins Integration with GitHub & Maven

Jenkins Integration

Jenkins Continues Integration with  GitHub, Maven & Selenium

Exploring Jenkins

  • Introduction to Jenkins and its features
  • Installation of Jenkins on Windows and CentOS
  1. Installing Jenkins on Windows
  2. Installation of Jenkins on CentOS
  3. Installation of Jenkins as a web application
  • A jump-start tour of the Jenkins dashboard
  • How to change configuration settings in Jenkins
  • What is the deployment pipeline?

Installation and Configuration of Code Repository and Build Tools

  • An overview of a build in Jenkins and its requirements
  • Installing Java and configuring environment variables
  1. Configure environment variables
  • Installing, configuring, and operating SVN on CentOS and Windows
  • Installing SVN on CentOS
  1. Configuring SVN
  2. SVN operations
  3. Import a directory into SVN
  4. Check out from SVN
  • VisualSVN Server on Windows
  • Integrating Eclipse with code repositories
  • Installing and configuring Ant
  • Installing Maven
  • Configuring Ant, Maven, and JDK in Jenkins
  • Installing and configuring Git
  • Creating a new build job in Jenkins with Git

Integration of Jenkins, SVN, and Build Tools

  • Creating and configuring a build job for a Java application with Ant
  1. Dashboard View Plugin
  2. Creating and configuring a build job for a Java application
  • Creating and configuring a build job for a Java application with Maven
  • Build execution with test cases

Distributed Builds – Master/Slave Mode

  • Understanding the master and slave architecture
  1. Creating slave nodes in the UI
  • Choosing a launch method
  • Slave agent via Java Web Start
  1. Prerequisites
  2. The Jenkins Java Web Start launch page
  3. JavaWS via a web browser
  4. JavaWS via the command line
  5. Headless slave agents via the command line

Slave agents on Windows via WMI and DCOM

  • Troubleshooting Windows DCOM and CIFS errors
  1. Error – access denied
  2. Workaround 1
  3. Workaround 2
  • Error – no more data available
  1. Workaround
  2. Slave agents via SSH tunneling

Administering Jenkins slaves

  • The node administration dashboard
  • Preventative monitoring
  • Managing individual slave nodes

Labels, groups, and load balancing

  • Attaching a slave to a group by creating a label
  • Attaching a slave to many groups
  • Restricting slave execution to global or tied jobs
  • Jenkins plugins that support distributed builds

Creating Views and Jobs in Jenkins

  • The Jenkins user interface
  1. The main header
  2. The configuration panel
  3. The job table
  4. RSS feeds
  5. The Jenkins build queue and executor status panel

Jobs in Jenkins

  • Freestyle projects in Jenkins
  • Project options
  • Defining build parameters
  • Advanced project options
  • Source code management
  1. Source control via SVN
  2. Advanced SVN options
  3. Source control via Git–requires the Git plugin
  4. Additional behaviors
  • Build triggers
  • Build steps
  • Post-build actions
  • Maven projects
  1. Build triggers
  2. Build step
  3. Advanced options
  4. Post-build steps
  • Monitoring external jobs
  • Multiconfiguration jobs in Jenkins – matrix jobs
  1. Configuration matrix
  2. Slaves
  3. Label expression
  4. User-defined axes
  • Creating views
  1. Filtering jobs by regular expression

Managing Views and Jobs in Jenkins

Managing Views in Jenkins

  • Altering the default “View”
  • Customizing the basic content of a View
  • Advanced customization of a “Views” content

Navigating a job’s project page

  • The Configuration panel
  • The Build History panel
  • The project overview – central panel

Job execution

  • The Job Execution Configuration panel
  • The Status panel
  • The Console Output

Advanced Automated Testing

  • Quality assurance initiatives and test automation terminology
  • The Software Development Lifecycle
  • Connecting product codes to tests
  • Baking quality into the product

Efficient automated test architecture

  • Automated testing in Jenkins
  • Unit tests in Jenkins through MSTest

How to set up MSTest agents

  • Running automated tests via MSTest
  • A example MSTest execution
  • Running MSTests and reporting the results in Jenkins
  • Publishing test results in Jenkins
  • Organizing test jobs

Distributed testing solutions

  • The Selenium Grid
  • Parallel down-stream jobs