Continuous Integration Concepts and Tools

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

3 lectures

03:56

About the Instructor

01:03

Introduction to this Course

01:24

Course Audience and Expectations

01:28

Introduction to Continuous Integration

2 lectures

05:24

The Problem

02:29

What is Continuous Integration

02:54

The Continuous Integration Pipeline

2 lectures

12:31

Pipeline Overview

07:42

The Pipeline Tasks

04:49

Continuous Integration Pipeline

3 questions

Continuous Integration Tools

5 lectures

33:58

Source Control Management

07:20

Build Tool

04:48

Continuous Integration Server

02:13

Deployment Tools

14:29

Automated Testing Tools

05:07

CI Tools Quiz

5 questions

Continuous Integration Concepts

2 lectures

14:35

Continuous Integration Practices

10:30

Summary

04:04

CI Concepts Quize

3 questions

Git

9 lectures

43:16

Introduction to CI Tools

01:44

Git Installation

files

Git Overview

06:57

Git Basic

08:59

Git Merge

08:12

Git Branches

03:40

Git Workflows

06:34

Git Hosting

files

Git Assignment

07:07

Maven

9 lectures

43:43

Maven Installation

files

Maven Basics

11:29

Maven Demo

05:58

Maven Eclipse Demo

04:28

Maven Lifecycle

06:01

Maven Repositories

06:34

Multi-Model Projects

05:26

Maven Summary

03:45

Create a Maven Project

files

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).

Create a maven simple project called ExMaven

Download the source files attached as resources and unzip them under the src/main/java directory.

Find these dependencies in maven central and add their pom xml snippet to the project's pom.xml file under the <dependencies> tag

Build the project with: mvn install

Jenkins

4 lectures

23:26

Jenkins Installation

files

Jenkins Basics

21:43

Jenkins Distributed Builds

files

Jenkins Assignment

01:43

Docker

8 lectures

01:05:37

Docker Introduction

16:35

Docker Installation

files

Docker Basic

14:04

Docker Images

10:54

Creating a Docker Image

10:59

Using Docker in Our CI Pipeline

07:42

Docker Summary

files

Docker Assignment

05:21

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:

Simpliv LLC, is a platform for learning and teaching online courses. We offer a rich variety of educational courses that have been prepared
by authors, educators, coaches, and business leaders. Whether you're interested in healthy living, nutrition, natural healing, computer
programming, or learning a new language, you'll find it here.