edariasdev / local-cicd-lab

Local CICD lab for app/ tool development in homelab environment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Local CI/CD Environment

This compose file spins-up a local CI/CD environment on Ubuntu for testing purposes.

Prerequisites

Docker + Docker Compose Ubuntu 20.04

### Docker and docker compose prerequisites
sudo apt-get install curl gnupg ca-certificates lsb-release &&\

### Download the docker gpg file to Ubuntu
sudo mkdir -p /etc/apt/keyrings &&\
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg &&\

### Add Docker and docker compose support to the Ubuntu's packages list
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-pluginsudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-pluginlinux/ubuntu   $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null &&\

sudo apt-get update &&\
 
### Install docker and docker compose on Ubuntu
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Sources:

Run Compose:

docker-compose -f docker-compose-cicd.yaml up -d

Jenkins

Sonarqube

Default Credentials

User: admin
Password: admin

Troubleshooting

  1. Not enough VM RAM set; Error reads:
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

Set VM MAX:

Fix (temp):

sysctl -w vm.max_map_count=262144

Fix (permanent):

echo "vm.max_map_count=262144" >> /etc/sysctl.conf &&\
sysctl --system

About

Local CICD lab for app/ tool development in homelab environment


Languages

Language:Dockerfile 52.5%Language:Groovy 47.5%