Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
406f0ae
Etape 3 fini
hugodef1 Oct 1, 2025
acadea8
feat: Add Dockerfile, GitHub Actions, and docker-compose for TP
hugodef1 Oct 1, 2025
6f200d7
Relancement CI après correction des permissions Docker
hugodef1 Oct 1, 2025
ae588a1
feat(cd): Ajout du job de déploiement via SSH et Docker Compose
hugodef1 Oct 1, 2025
6e13f21
Relancement CD après correction SSH
hugodef1 Oct 1, 2025
865e941
Relancement CD après correction SSH2
hugodef1 Oct 1, 2025
25ac063
Relancement CD après correction SSH2
hugodef1 Oct 1, 2025
45540ba
suppression et modif des mauvais png
hugodef1 Oct 1, 2025
1c280c4
suppression et modif des mauvais png
hugodef1 Oct 1, 2025
c838182
suppression et modif des mauvais png
hugodef1 Oct 1, 2025
e96a251
suppression et modif des mauvais png
hugodef1 Oct 1, 2025
72be5e7
Correction bug yml
hugodef1 Oct 1, 2025
ee4420a
Correction bug yml3
hugodef1 Oct 1, 2025
ffd2500
Correction bug yml3
hugodef1 Oct 1, 2025
25cfe70
Derniere correction du yml
hugodef1 Oct 1, 2025
f6655ed
Derniere correction du yml
hugodef1 Oct 1, 2025
f38c1e3
Derniere correction du yml2
hugodef1 Oct 1, 2025
e290ae0
Derniere correction du yml3
hugodef1 Oct 1, 2025
06f3fab
changement de port 8080
hugodef1 Oct 1, 2025
4eb5dd7
fix: Génération directe du docker-compose.yml dans la CI avec port 8080.
hugodef1 Oct 1, 2025
2f2c5cb
modif du dockerfile
hugodef1 Oct 1, 2025
ab3be3f
chore: Déclenchement de la CI/CD pour la validation finale.
hugodef1 Oct 1, 2025
c0f76f7
correction yml
hugodef1 Oct 1, 2025
a1f56a2
fix: Ajout de sudo aux commandes docker compose pour résoudre les pro…
hugodef1 Oct 1, 2025
5bbf32e
Merge: Revenir à la version stable des fichiers de workflow.
hugodef1 Oct 1, 2025
55aee55
fix: Installation forcée du binaire docker-compose (v1) dans le runne…
hugodef1 Oct 1, 2025
3dca7d8
fix: Correction de la directive root dans nginx.conf pour pointer ver…
hugodef1 Oct 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 92 additions & 0 deletions .github/workflows/ci-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: CI/CD - Build and Deploy Memory App

on:
push:
branches:
- develop

jobs:
test-memory-2026:
runs-on: self-hosted
steps:
- name: Checkout Code
uses: actions/checkout@v4

- name: Install and Check JPEG integrity
run: |
sudo apt-get update && sudo apt-get install -y file
echo "Lancement du test d'intégrité des images..."
for file_path in html/data/*.jpg; do
echo "Testing $file_path..."
file "$file_path" | grep -q "JPEG image data"
if [ $? -ne 0 ]; then
echo "ERREUR: Le fichier $file_path n'est pas un JPEG valide."
exit 1
fi
done
echo "Test JPEG réussi : Tous les fichiers sont valides."

build_and_push:
needs: test-memory-2026
runs-on: self-hosted

steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Docker variables
id: docker_vars
run: |
echo "IMAGE_NAME=hugodef1/memory-2026" >> $GITHUB_OUTPUT
echo "TAG=$(echo ${{ github.sha }} | cut -c1-7)" >> $GITHUB_OUTPUT

- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and Push Docker image
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: ${{ steps.docker_vars.outputs.IMAGE_NAME }}:${{ steps.docker_vars.outputs.TAG }}

deploy:
needs: build_and_push
runs-on: self-hosted

steps:
- name: Checkout Code
uses: actions/checkout@v4

- name: Set up Docker variables
id: docker_vars
run: |
echo "IMAGE_NAME=hugodef1/memory-2026" >> $GITHUB_OUTPUT
echo "TAG=$(echo ${{ github.sha }} | cut -c1-7)" >> $GITHUB_OUTPUT

- name: Deploy application locally via Docker Compose
run: |
IMAGE_TAG=${{ steps.docker_vars.outputs.IMAGE_NAME }}:${{ steps.docker_vars.outputs.TAG }}

rm -rf deployment
mkdir -p deployment
cd deployment

echo "version: '3.8'" > docker-compose.yml
echo "services:" >> docker-compose.yml
echo " memory-app:" >> docker-compose.yml
echo " image: $IMAGE_TAG" >> docker-compose.yml
echo " container_name: memory-2026-prod" >> docker-compose.yml
echo " restart: always" >> docker-compose.yml
echo " ports:" >> docker-compose.yml
echo " - \"8080:80\"" >> docker-compose.yml

sudo docker compose down || true

echo "Déploiement de l'image $IMAGE_TAG..."
sudo docker compose pull
sudo docker compose up -d

echo "Déploiement local réussi sur http://localhost:8080."
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
.DS_Store
.DS_Store
actions-runner/
8 changes: 8 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM nginx:latest
WORKDIR /
RUN apt-get update && \
apt-get install -y file && \
rm -rf /var/lib/apt/lists/*
COPY conf/nginx.conf /etc/nginx/nginx.conf

COPY html/ /usr/share/nginx/html/
1 change: 1 addition & 0 deletions conf/nginx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ http {
listen 80;
server_name 127.0.0.1;
port_in_redirect off;
root /usr/share/nginx/html;

location / {
proxy_http_version 1.1;
Expand Down
9 changes: 9 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
version: '3.8'

services:
memory-app:
image: hugodef1/memory-2026:2f2c5cb
container_name: memory-2026-prod
restart: always
ports:
- "8080:80"
121 changes: 0 additions & 121 deletions html/data/0.jpg

This file was deleted.

121 changes: 0 additions & 121 deletions html/data/11.jpg

This file was deleted.

Loading