0% ont trouvé ce document utile (0 vote)
3 vues8 pages

Devops

Le rapport décrit le déploiement d'une application de vote utilisant Docker et Jenkins sur un serveur Ubuntu. Il inclut des instructions pour installer Docker et Docker Compose, ainsi que la configuration des conteneurs pour l'application de vote, le traitement des votes et la base de données PostgreSQL. Les conteneurs sont connectés via des réseaux séparés pour assurer la sécurité, et des URLs sont fournies pour accéder aux différents services déployés.

Transféré par

ZZZ
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues8 pages

Devops

Le rapport décrit le déploiement d'une application de vote utilisant Docker et Jenkins sur un serveur Ubuntu. Il inclut des instructions pour installer Docker et Docker Compose, ainsi que la configuration des conteneurs pour l'application de vote, le traitement des votes et la base de données PostgreSQL. Les conteneurs sont connectés via des réseaux séparés pour assurer la sécurité, et des URLs sont fournies pour accéder aux différents services déployés.

Transféré par

ZZZ
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Rapport de Déploiement - Application de Vote

Infrastructure Globale
 Serveur: Ubuntu Server avec Docker et Docker Compose
 CI/CD: Jenkins en conteneur
 Réseaux: Frontend et Backend séparés
 Stockage: Volumes persistants pour Jenkins et PostgreSQL

Installation de docker et docker compose

- Installer Docker

sudo apt update

sudo apt install -y [Link]

- Installer Docker Compose

sudo curl -L "[Link]


linux-x86_64" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

- Vérifier versions

docker --version

docker-compose version

- Permissions

sudo usermod -aG docker $USER

sudo chmod 666 /var/run/[Link]


Composants de l'Application

Jenkins:

Dockerfile

FROM jenkins/jenkins:lts
USER root
RUN apt-get update && \
apt-get -y install [Link] docker-compose
USER jenkins

Configuration ([Link]) de Jenkins:

version: '3'
services:
jenkins:
build: .
ports:
- "8080:8080"
volumes:
- jenkins_home:/var/jenkins_home
- /var/run/[Link]:/var/run/[Link]
- /opt/voting-app:/opt/voting-app
networks:
- frontend
- backend

networks:
frontend:
driver: bridge
backend:
driver: bridge
volumes:
jenkins_home:

Application de Vote

[Link] principal:

version: '3'
services:
vote:
image: voting-app
ports:
- "5000:80"
networks:
- frontend
- backend

result:
image: result-app
ports:
- "5001:80"
networks:
- frontend
- backend
depends_on:
- db

redis:
image: redis:alpine
networks:
- backend
worker:
image: worker-app
networks:
- backend
depends_on:
- db
- redis

db:
image: postgres:9.4
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_HOST_AUTH_METHOD=trust
volumes:
- db-data:/var/lib/postgresql/data
networks:
- backend
networks:
frontend:
driver: bridge
backend:
driver: bridge

volumes:
db-data:
Pipeline CI/CD

pipeline {
agent any
stages {
stage('Build Vote App') {
steps {
sh 'cd /opt/voting-app/voting-app/vote && docker build -t voting-app .'
}
}
stage('Build Result App') {
steps {
sh 'cd /opt/voting-app/voting-app/result && docker build -t result-app .'
}
}
stage('Build Worker') {
steps {
sh 'cd /opt/voting-app/voting-app/worker && docker build -t worker-app .'
}
}
stage('Deploy') {
steps {
sh 'cd /opt/voting-app/voting-app && docker-compose up -d'
}
}
}
}
Déploiement des Conteneurs

voting-app-vote-1 : Frontend Vote


voting-app-result-1 : Frontend Result
voting-app-worker-1 : Traitement des votes
voting-app-redis-1 : Cache des votes
voting-app-db-1 : Base de données PostgreSQL
junior-jenkins-1 : Serveur CI/CD

Les conteneurs démarrent avec succès et sont connectés via deux réseaux distincts (frontend et
backend) pour la sécurité.

Les vues
Jenkins
Vote
Résultat

URLs:
- Jenkins: [Link]
- Vote: [Link]
- Result: [Link]
Sécurité:
- Isolation réseau frontend/backend
- Volumes persistants pour les données
- Communication inter-conteneurs sécurisée

Vous aimerez peut-être aussi