Skip to content

StackBalancer/DevOpsLab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevOpsLab

Project designed to showcase a wide range of DevOps skills. It integrates infrastructure automation, continuous integration (CI), and continuous deployment (CD) practices, demonstrating how modern DevOps tools and methodologies can streamline software development workflows.

Tech Stack

Jenkins

Docker

Make

Prometheus

Grafana

Python

Create Docker network bridge

  make docker-network

Install Jenkins

  1. Run Jenkins instance:
  make jenkins-master
  1. Access Jenkins at http://localhost:8080 in your web browser

  2. Get Jenkins password and use it for initial login:

  JENKINS_CONTAINER_ID=$(docker ps -a --filter "ancestor=jenkins/jenkins:lts" --format "{{.ID}}")
  docker exec -it <JENKINS_CONTAINER_ID> /bin/bash -c "cat /var/jenkins_home/secrets/initialAdminPassword"
  1. Jenkins agent
  make jenkins-agent-build
  • Run agent container (replace <secret-id> in Makefile with one displayed in status window)
  make jenkins-agent

Install Prometheus

Run Prometheus container:

  make prometheus

Expose Jenkins Metrics with the Prometheus plugin

Configure Prometheus for Jenkins:

  • Go to Manage Jenkins > Manage Plugins > Available plugins

  • Search for and install the Prometheus Metrics Plugin.

Configure the plugin:

Verify Prometheus Scraping:

You should see the Jenkins job metrics under jenkins-master:8080.

Install Grafana

  • Run Grafana in a Docker Container:
  make grafana
  • Access Grafana in your local browser http://localhost:3000 (admin/admin).
  • Add Prometheus as a Data Source, Settings > Data Sources > Add data source - select Prometheus.
  • Configure the following -> URL: http://prometheus:9090 (replace prometheus with the container name or service name of Prometheus).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published