Library

Course: Continuous Integration Concepts and Tools

Continuous Integration Concepts and Tools

  • Life Time Access
  • Certificate on Completion
  • Access on Android and iOS App
About this Course

Continuous Integration is becoming the de-facto standard in the software development process.

This course will explain the continuous integration concepts and provide an overview of the tools that are used in setting up a continuous integration process.

It will also feature hands-on technical basics for a selected number of tools and provide hands-on training on how to combine these tools for setting up your continuous integration process.

During this course we will do a technical overview of some continuous integration tools such as: git, maven, jenkins, Docker and Selenium.

We will build together a continuous integration pipeline using these tools on a sample web application.

Basic knowledge
  • Basic Linux skills
  • Understanding of the software development process
  • Basic Java knowledge is recommended
What you will learn
  • Understand what Continuous Integration is and why we need it
  • Understand Continuous Integration concepts
  • Have an overview of Continuous Integration tools
  • Know how to build a continuous integration pipeline
  • Understand Continuous Integration best practices


Curriculum
Number of Lectures: 51
Total Duration: 04:49:13
Introduction
  • About the Instructor  
  • Introduction to this Course  
  • Course Audience and Expectations  
Introduction to Continuous Integration
  • The Problem  
  • What is Continuous Integration  
The Continuous Integration Pipeline
  • Pipeline Overview  
  • The Pipeline Tasks  
  • Continuous Integration Pipeline  
Continuous Integration Tools
  • Source Control Management  
  • Build Tool  
  • Continuous Integration Server  
  • Deployment Tools  
  • Automated Testing Tools  
  • CI Tools Quiz  
Continuous Integration Concepts
  • Continuous Integration Practices  
  • Summary  
  • CI Concepts Quize  
Git
  • Introduction to CI Tools  
  • Git Installation  
  • Git Overview  
  • Git Basic  
  • Git Merge  
  • Git Branches  
  • Git Workflows  
  • Git Hosting  
  • Git Assignment  
Maven
  • Maven Installation  
  • Maven Basics  
  • Maven Demo  
  • Maven Eclipse Demo  
  • Maven Lifecycle  
  • Maven Repositories  
  • Multi-Model Projects  
  • Maven Summary  
  • Create a Maven Project  

    For this exercise, you can use either Eclipse of the command line to create a maven project. I would recommend working with Eclipse since this is way developers actually work with java sources. (among other IDEs).

    1. Create a maven simple project called ExMaven
    2. Download the source files attached as resources and unzip them under the src/main/java directory.
    3. Add the required dependencies for the project:

    4. groupId: junit artifactId: version: 4.12
    5. groupId: org.apache.commons artifactId: commons-lang3 version:3.4
    6. groupId: org.apache.logging.log4j artifactId: log4j-core version 2.6.2
    7. Find these dependencies in maven central and add their pom xml snippet to the project's pom.xml file under the <dependencies> tag
    8. Build the project with: mvn install


Jenkins
  • Jenkins Installation  
  • Jenkins Basics  
  • Jenkins Distributed Builds  
  • Jenkins Assignment  
Docker
  • Docker Introduction  
  • Docker Installation  
  • Docker Basic  
  • Docker Images  
  • Creating a Docker Image  
  • Using Docker in Our CI Pipeline  
  • Docker Summary  
  • Docker Assignment  

    Prerequisites

    1. Your jenkins server running.

    2. Have a jenkins job called petclinic that you created in the jenkins assignment that is building the petcilinc sample application.

    Instructions:

    Download my Dockerfile and script attached as resources to this assignment.

    Unzip the files to a directory of your choice.

    Run the run_docker.sh ( or run_docker.cmd file if you are on Windows) and pass it a build number. The build number should be a number equal to the last successful build of our petclinic build job that we create in the previous Jenkins assignment. ( for example if build #2 is the last successful build, pass 2 as a parameter to the script).

    Note that the Dockerfile assumes that your jenkins server is running on port 8099 and your jenkins job is called petclinic. If that is not the case you need to change the Dockerfile accordingly.

    After the script ran successfully access the petclinc application at the following URL:

    ###a href="http://localhost:8888/petclinic_sdk-1.0.0-SNAPSHOT/">http://localhost:8888/petclinic_sdk-1.0.0-SNAPSHOT/

    Now stop the docker container by typing:

    #docker stop t1

    Now create a post build step on our previously created jenkins job. Choose execute shell as the post build type.

    In the command window enter a command to cd into the directory where your Dockerfile and script file exist and run the script passing it the $BUILD_NUMBER variable.

    In Linux it should look like this:

    cd <your script directory>; ./run_docker.sh $BUILD_NUMBER

    In Windows :

    cd <your script directory> && .\run_docker.cmd $BUILD_NUMBER

    Now run our job, it should create the image and run the container, once the build is successful you can access our application at the following URL:

    http://localhost:8888/petclinic_sdk-1.0.0-SNAPSHOT/

    Now stop the docker container by typing:

    #docker stop t1


Selenium
  • Selenium Overview  
  • Selenium Java Project  
  • Selenium in Our CI Pipeline  
  • Selenium Assignment  
Related Concepts
  • Devops  
  • Continuous Delivery  
Course Summary
  • Course Summary  
Reviews (0)