Giter Club home page Giter Club logo

demo-counter-app's Introduction

DevOps Project

Maven Project Jenkins SonarQube Nexus

  • In this project, we will be playing with Github, Jenkins,Sonarqube and Nexus.
  • We will create Jenkins, Sonarqube and Nexus from Docker Container.
  • Since we will require docker inside Jenkins. But the official jenkins image do not include docker inside the image. So we will create our own new Jenkins image.
  • The jenkins image used in this project can be pull from dockerhub. Visit the link.

Github:

  • In this project, Git is used as VCS(Version Control System).
  • Github is used to store Source Code.

Jenkins:

  • Jenkins is used for CI/CD(Continuous Integration/Continuous Deployment).
  • We will be using Declarative pipeline for this job.

Declarative Pipeline:

  • This pipeline will contain multiple stages where task will be describe.
  • Jenkins automatically fetched the Github Repo, so we do not need to include that in any stage.
  • Multiple stages included in this job are:
    • Stage 1:

      • Since this is maven based application, we will run the mvn test command.
    • Stage 2:

      • Skip the Unit Test.
    • Stage 3:

      • Clean the prebuild package and install create a new package.
    • Stage 4:

      • Create a Project in Sonarqube. Remember it requires a Sonarqube Credentials.
    • Stage 5:

      • Get quality status report back from Sonarqube.
      • For this, we must create jenkins webhook in sonarqube.
    • Stage 6:

      • Upload the artifact to the Nexus Repository.
      • It reqiures Nexus Credentials to upload the artifact.
    • Stage 7:

      • It builds a docker image of the application with the Job_Name and Build_ID.
      • Remember, Docker must be installed inside Jenkins.
    • Stage 8:

      • It tagged the image with registry.
    • Stage 9:

      • It pushes the image to the Nexus Private Registry.
      • It reqires Nexus credentials for that.
    • Stage 10:

      • It removes old image to clean the space from the jenkins container.
    • Stage 11:

      • Deploy the application from the docker image.

Sonarqube:

  • Sonarqube is used for Code Analysis.

Nexus:

  • Nexus is used for private repository.

Note:

  • If you want to recreate this tutorial, follow the documentation from Wiki page.

demo-counter-app's People

Contributors

thespiritman avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.