Hands on DevSecOps Coaching that is provided on AWS and Azure Cloud platforms. Contact Coach AK at devops.coaching@gmail.com for more info. You can also reach out to Coach AK at +1(469) 733-5248
Artifactory is open source, binary repository manager. Artifactory is the single solution for managing all the artifacts, binaries, files and containers throughout your software supply chain.
Some of the key features of Artifactory:
Supports 27 different package types including helm charts, docker images regardless of tech stack.
A single source of truth for all your binaries
Integration with all CICD tools
role based authorization with teams to manage artifacts
you can create local, remote and virtual repositories
What is Docker Compose?
Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration. Since Docker Compose lets you configure related containers in a single YAML file, you get the same Infrastructure-as-Code abilities as Kubernetes. But they come in a simpler system that’s more suited to smaller applications that don’t need Kubernetes’ resiliency and scaling.
The purpose of docker-compose is to function as docker cli but to issue multiple commands much more quickly. To make use of docker-compose, you need to encode the commands you were running before into a docker-compose.yml file
Run docker-compose up and Compose starts and runs your entire app.
Watch the Steps in YouTube channel:
Pre-requisites:
Ubuntu EC2 up and running with at least t2.medium (4GB RAM), 2GB will not work
Port 8081, 8082 is opened in security firewall rule
instance should have docker-compose installed
Change Host Name to Artifactory sudo hostnamectl set-hostname Artifactory
Perform System update
sudo apt update
Install Docker-Compose
sudo apt install docker-compose -y
Create docker-compose.yml
this yml has all the configuration for installing Artifactory on Ubuntu EC2.
sudo vi docker-compose.yml
(Copy the below code high-lighted in yellow color)
Please follow the steps to install Jenkins using Docker compose on Ubuntu 22.0.4 instance.
What is Docker Compose?
Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration.
The purpose of docker-compose is to function as docker cli but to issue multiple commands much more quickly. To make use of docker-compose, you need to encode the commands you were running before into a docker-compose.yml file
Run docker-compose up and Compose starts and runs your entire app.
Change Host Name to Jenkins sudo hostname Jenkins
Perform update first sudo apt update
Now lets start Docker. compose installation first:
Install Docker-Compose
sudo apt-get install docker-compose -y
Add current user to docker group
sudo usermod -aG docker $USER
Create directory
mkdir ~/jenkins
Jenkins Setup
Create docker-compose.yml
this yml has all configuration for installing Jenkins
sudo vi docker-compose.yml
version: '3.3'
services:
jenkins:
image: jenkins/jenkins:lts
restart: unless-stopped
privileged: true
user: root
ports:
- 8080:8080
container_name: jenkins
volumes:
- ~/jenkins:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
- /usr/local/bin/docker:/usr/local/bin/docker
Now execute the compose file using Docker compose command:
Now Go to AWS console. Click on EC2, click on running instances link. Select the checkbox of EC2 you installed Jenkins. Click on Action. Copy the value from step 4 that says --> Connect to your instance using its Public DNS:
Now go to browser. enter public dns name or public IP address with port no 8080.
How to setup SonaType Nexus 3 using Docker compose?
Nexus is open source, binary repository manager and Java based tool. It can be installed quickly using Docker with less manual steps.
What is Docker Compose?
Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration. Since Docker Compose lets you configure related containers in a single YAML file, you get the same Infrastructure-as-Code abilities as Kubernetes. But they come in a simpler system that’s more suited to smaller applications that don’t need Kubernetes’ resiliency and scaling.
The purpose of docker-compose is to function as docker cli but to issue multiple commands much more quickly. To make use of docker-compose, you need to encode the commands you were running before into a docker-compose.yml file
Run docker-compose up to run the entire app.
Watch Steps in YouTube channel:
Pre-requisites:
Ubuntu EC2 up and running with at least t2.medium(4GB RAM), 2GB will not work
Port 8081, 8085 is opened in security firewall rule
instance should have docker and docker-compose installed
Change Host Name to Nexus sudo hostnamectl set-hostname Nexus
Perform System update
sudo apt update
Install Docker-Compose
sudo apt install docker-compose -y
Add current user to Docker group
sudo usermod -aG docker $USER
Create docker-compose.yml
this yml has all the configuration for installing Nexus on Ubuntu EC2.
sudo vi docker-compose.yml
(Copy the below code high-lighted in yellow color)
version: "3"
services:
nexus:
image: sonatype/nexus3
restart: always
volumes:
- "nexus-data:/sonatype-work"
ports:
- "8081:8081"
- "8085:8085"
volumes:
nexus-data: {}
Save the file by entering :wq!
Now execute the compose file using Docker compose command to start Nexus Container
sudo docker-compose up -d
-d means detached mode
Make sure Nexus 3 is up and running
sudo docker-compose logs --follow
Once you see the message, that's it. Nexus 3 is been setup successfully. Now press Control C and enter to come out of the above screen.
How to get Nexus admin password?
Now access Nexus UI by going to browser and enter public dns name with port 8081
Now to go to browser --> http://change to_nexus_publicdns_name:8081
We need to login to Nexus docker container to get Nexus admin password.
SonarQube is static code analysis tool. It is open source and Java based tool. SonarQube can be setup using Docker Compose with less manual steps.
What is Docker Compose?
Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration. Since Docker Compose lets you configure related containers in a single YAML file, you get the same Infrastructure-as-Code abilities as Kubernetes. But they come in a simpler system that’s more suited to smaller applications that don’t need Kubernetes’ resiliency and scaling.
The purpose of docker-compose is to function as docker cli but to issue multiple commands much more quickly. To make use of docker-compose, you need to encode the commands you were running before into a docker-compose.yml file
Run docker-compose up and Compose starts and runs your entire app.
SonarQube Architecture
SonarQube have three components namely
1. Scanner - This contains scanner and analyser to scan application code.
2. SonarQube server - contains Webserver(UI) and search server
3. DB server - used for storing the analysis reports.
Watch steps in YouTube channel:
Pre-requisites:
New Ubuntu 22.0.4 EC2 instance with at least t2.medium (4 GB RAM)
Port 9000 is opened in security firewall rule
Make sure below is taken care off.
Login to SonarQube EC2 instance using git bash or iTerm, perform below command to configure virtual memory permanently for SonarQube to function:
sudo nano /etc/sysctl.conf
Add the following lines to the bottom of that file by scrolling all the way down:
vm.max_map_count=262144 fs.file-max=65536
Press Ctrl + O and Enter for saving the file.
Press Ctrl + X for exiting the file after saving.
To make sure changes are getting into effect:
sudo sysctl -p
Change Host Name to SonarQube sudo hostnamectl set-hostname SonarQube
Perform System update
sudo apt update
Install Docker-Compose
sudo apt install docker-compose -y
Create docker-compose.yml
this yml has all configuration for installing both SonarQube and Postgresql:
sudo vi docker-compose.yml
(press I or insert button and then Copy the below code high-lighted in yellow color)