Devops With Git Jenkins Artifactory And Elk Stack

Tags: Jenkins

Complete Hands-On DevOps course that will demonstrate efficient use of DevOps Tool Chain

Last updated 2022-01-10 | 4.2

- Build DevOps environment for their organization.
- Expand the DevOps environment for multiple use cases in their organization.
- Identify DevOps toolchain fit for their organization and customize as needed.

What you'll learn

Build DevOps environment for their organization.
Expand the DevOps environment for multiple use cases in their organization.
Identify DevOps toolchain fit for their organization and customize as needed.
Full fledged environment setup for major categories in DevOps toolset.

* Requirements

* Basic understanding of the SDLC lifecycle.
* Basic understanding of the source code management.
* Ability to install and configure tools and software as part of the course.
* Basic understanding of Java programming language and build tools like Maven.
* Ability to do hands on development in Java using Spring Boot.

Description

What you will learn and why you should learn DevOps ?

Are you ready to understand and increase your knowledge about DevOps ? Lot of companies are slowly starting to adopt DevOps but they still struggle to get the environment, processes and tool chain required to support enterprise projects. 

In this course we will review some of the best practices and tool chain that will help you setup the automated workflows for operations and development. It will help you increase your knowledge around DevOps and provide you an opportunity to become a change agent in your company to minimize the manual tasks of branching, code commits, code reviews, code merges, build, tests (unit and integration), code quality metrics and standards, integration with repository manager, analytics, deployment of code to the server and application monitoring across environments. The course also covers the Agile lifecycle from the point of identifying a requirement and capturing and development and deployment and provide the traceability by the story. 

Please note that course captions are provided Automatically by Udemy.

What tools will I use and learn ?

Apache Tomcat, Apache Maven, Jfrog Artifactory, Jenkins (Maven Style and Pipeline Style), Jenkins Plugins including Blueocean, SonarQube, ELK (Elasticsearch, Logstash and Kibana), GitHub (Git Flow), Spring STS, Atom, Atlassian Source Tree, CLI, Spring Boot, Junit, Eclemma (Jacoco), JIRA, Confluence, NGROK and several more configuration items.

What will I not learn in this course ?

Please note that the course covers most of the tools in the DevOps toolchain, but will not cover Infrastructure as code for deployment. 

30-day money-back guarantee! 

You will get 30-day money-back guarantee from Udemy for this course. If not satisfied simply ask for a refund within 30 days. You will get full refund. No questions whatsoever asked.

Who this course is for:

  • Anyone who wants to learn and understand DevOps philosophy and model.
  • Anyone who wants to be a change agent in their organization to adopt DevOps model.
  • Wants to know more about the tools and usage beyond the buzz word of DevOps.

Course content

14 sections • 56 lectures

Introduction Preview 06:40

At the end of this lecture students will be able to understand the philosophy of DevOps, benefits of DevOps, adoption in industry and the different categories that the DevOps toolchain can support in automation.

Required Tools And Software Downloads Preview 04:24

At the end of this lecture students will be able to understand the required tools before they can install software.

Install and Configure Apache Tomcat Preview 05:39

At the end of this lecture, students will be able to understand the installation steps for tomcat and be able to navigate to the home page of the app server.

Install and Configure Jfrog Artifactory Preview 03:26

At the end of this lecture, students will be able to understand the installation steps for Jfrog Artifactory and be able to navigate to the home page of the Jfrog Artifactory server.

Install and Configure Apache Maven Preview 06:09

At the end of this lecture, students will be able to understand the installation steps for apache maven and be able validate successful installation of maven.

Install and Configure Jenkins Part 1 Preview 02:43

At the end of this lecture, students will be able to understand the installation steps for Jenkins and be able to navigate to the home page of the Jenkins server.

Install and Configure Jenkins Part II Preview 07:12

At the end of this lecture, students will be able to understand the installation steps for Jenkins and be able to navigate to the home page of the Jenkins server.

Maven Security Setup Preview 10:07

At the end of this lecture, students will be able to understand the installation steps for Maven and be able to set Maven Home and set up the settings and settings security xml to integrate with artifactory server.

Setup SSH for GitHub for User Preview 03:54

At the end of this lecture, students will be able to understand the SSH setup for the user account and be able to validate the setup to ensure that they can push the code from their computer to Git Hub.

Please refer to the notes for some tweaks.

Create a GitHub Repository and setup GitFlow Preview 08:26

Create a Spring Boot Project Preview 05:32

At the end of this lecture, students will be able to create a simple Java Project using Spring Boot and be able to generate the shell. Attached is a sample project that was generated and can be used as a shell project. Also included is the link to the GitHub repository that has been used throughout the project.

Spring STS Setup and Import Preview 07:58

At the end of this lecture, students will be able to import the Spring Boot project into STS and be able to run the project and validate that all tests pass.

Spring Boot Basic Server Code Preview 12:53

At the end of this lecture, students will be able to code some basic server side code for the controller and be able to add the test cases.

Spring Boot Basic Client Code Preview 09:11

At the end of this lecture, students will be able to create an index page that will take them to the home page of the devops application.

Configure for SCM and Artifactory Preview 10:17

At the end of this lecture, students will be able to configure the spring boot project to talk to the SCM and artifactory. 

Please note that the id's in distributionManagement configuration in pom.xml need to match the server settings in the settings.xml to ensure that you are able to communicate to artifactory successfully.

Commit changes and submit pull request Preview 05:17

At the end of this lecture, students will be able to commit the changes to their GitHub repository and ensure that their SSH settings work successfully and get familiar with the GitFlow workflow.

Setup SSH and Maven Settings for Jenkins User Preview 08:51

At the end of this lecture, students will be able to configure the Jenkins user for SSH and maven integration. 

Please refer to the attachments for more details.

Install Jenkins Plugins Preview 05:46

At the end of the lecture, students will be able to install the plugins required for continuous integration with artificatory and GitHub.

Jenkins Plugin Basic Preview 05:25

At the end of the lecture, students will be able to install the plugins and do basic configuration.

Jenkins SNAPSHOT Builds Preview 05:50

At the end of the lecture, students will be able to configure the plugins for building snapshot releases.

Jenkins Tomcat Deploy Plugin Preview 04:45

At the end of the lecture, students will be able to configure the tomcat deploy plugin to deploy the code to Tomcat.

Jenkins Tomcat Deploy Script Preview 04:24

At the end of the lecture, students will be able to configure the curl requests to deploy to Tomcat.

Please refer to the notes for more details.

For Windows users there is slight deviation on CURL script. Do ensure that you download CURL to a C drive (eg..c:\devops\curl) and set in the path. If you download to Program Files ensure that you escape spaces to make sure it works correctly and finds it in the path.

Start a Release Preview 10:15

At the end of the course, students will understand the process of creating a release using SourceTree and GitFlow.

Release code to QA from tag Preview 09:10

At the end of the course, students will understand the process of creating a release, tagging a release through Jenkins and uploading to artifactory using Jenkins and deploying code to QA instance of Tomcat.

Release code to PROD from artifactory Preview 06:29

At the end of the course, students will understand the process of using artifacts from artifactory to deploy to PROD instance of Tomcat.

Finish Current Release Preview 05:51

At the end of the course, students will understand the process of closing a release branch using SourceTree and GitFlow and ensuring that the code is merged from release branch to master and develop branches.

Start a Release and deploy to all environments Preview 10:40

At the end of the course, students will understand the process of creating next release branch using SourceTree and GitFlow and ensuring that the code is merged from release branch to master and develop branches and go through the entire deployment cycle across all environments.

Finish Release Preview 06:03

At the end of the course, students will understand the process of closing a release branch using SourceTree and GitFlow and ensuring that the code is merged from release branch to master and develop branches.

Create a Bugfix Release and Start and Finish a BugFix Release. Preview 12:12

At the end of the course, students will understand the process of creating an hotfix branch using SourceTree and GitFlow and ensuring that the code is merged from hotfix branch to master and develop branches.

Release 1.3.0 for adding Logging and Deploy to all environments Preview 16:12

At the end of the course, students will understand the process of creating a release branch for log enhancments that will be used for integration with ELK stack.

Finish the Release Preview 10:05

At the end of the course, students will understand the process of closing a release branch that was created for log enhancments using SourceTree and GitFlow and ensuring that the code is merged from release branch to master and develop branches.

Finish the Release Continued Preview 04:15

At the end of the course, students will understand the process of closing a release branch that was created for log enhancments using SourceTree and GitFlow and ensuring that the code is merged from release branch to master and develop branches.

Install and Configure Elasticsearch and Kibana Preview 06:50

At the end of this lecture, you will be able to configure elastic search and kibana.

Install and Configure Logstash Preview 07:03

At the end of this lecture, you will be able to configure log stash to process log files from different servers and push the data to elastic search instance.

Configure Dashboard and Review the logs Preview 06:22

At the end of the lecture, students will get an understanding to create basic visualizations and create a dashboard based on the visualizations.

Please look at the attachments and import the JSON into Kibana to get the same dashboard as defined in the course.

SonarQube Installation Preview 05:30

SonarQube Maven Settings Preview 03:16

SonarQube Code Changes Preview 07:50

SonarQube GIT Release Preparation Preview 05:15

SonaqrQube Jenkins Integration Preview 03:49

SonarQube Results Overview Preview 02:14

SonarQube GIT Release Closure Preview 03:00

Understand Jenkins Pipeline Configuration and Code Changes Preview 07:31

This section will include review and understanding of the Jenkins Pipeline Configuration. Please note there is slight variation in the Jenkins File that you see in the video v/s the attached resource that includes the default branch for the develop branch. 

Note: Please note that when you copy the resource file JenkinsFile, please remove the .txt extension. Extension was added so that it could be uploaded as a resource.

Jenkins Pipeline Job Configuration and Review Pipeline Results Preview 04:58

JIRA Confluence and GitHub Integration Preview 08:32

This section provides an overview of JIRA and Confluence and integration of JIRA with GitHub and ViceVersa.

GitHub Jenkins JIRA Confluence Integration with NGROK Preview 13:42

This section provides an overview of web hooks to trigger Jenkins jobs on commits to the repository and integration with JIRA as well.

Blueocean Introduction Part 1 Preview 08:29

This section provides an overview of Jenkins pipeline and Blueocean Plugin.

Blueocean Introduction Part 2 Preview 02:46

This section provides an overview of Jenkins pipeline and Blueocean Plugin.

Blueocean Multibranch Pipeline Configuration Preview 09:40

This section provides an overview of multibranch pipeline configuration.

Blueocean Setup and Git Configuration Preview 06:30

This section provides an overview of Blueocean setup and integration with Git.

Blueocean Develop Branch Configuration Preview 05:21

This section provides an overview of adding code for Develop branch on the Jenkinsfile.

Blueocean Understanding Pipeline as Code Configuration Preview 05:36

This section provides an overview of Jenkins pipeline changes.

Blueocean Multibranch Pipeline Configuration Release Build Part 1 Preview 03:43

This section provides an overview of Jenkins pipeline changes for the release build.

Blueocean Multibranch Pipeline Configuration Release Build Part 2 Preview 19:58

This section provides an overview of Jenkins pipeline changes for the release build and adding the ignore committer strategy to prevent recursive builds

Blueocean Multibranch Pipeline Configuration Release Build Final Preview 10:58

This section finalizing the release build pipeline changes and closing the release and merging to the master branch.

Wrapup Preview 02:55

At the end of the course, students will get a summary of what was taught in the course and how they can use what they have learned to the next level.