Skip to content
Snippets Groups Projects
Commit 7c767624 authored by Florentin Labelle's avatar Florentin Labelle
Browse files

Setup tp3

parent 6ea64d69
No related branches found
No related tags found
No related merge requests found
...@@ -8,10 +8,9 @@ stages: ...@@ -8,10 +8,9 @@ stages:
download_dependencies: download_dependencies:
stage: dependencies stage: dependencies
before_script: script:
- python -m venv .venv - python -m venv .venv
- source .venv/bin/activate - source .venv/bin/activate
script:
- pip install -r requirements.txt - pip install -r requirements.txt
artifacts: artifacts:
paths: paths:
...@@ -23,10 +22,9 @@ pylint: ...@@ -23,10 +22,9 @@ pylint:
- download_dependencies - download_dependencies
needs: needs:
- download_dependencies - download_dependencies
before_script: script:
- source .venv/bin/activate - source .venv/bin/activate
- pip install pylint - pip install pylint
script:
- pylint calculator --fail-on=error - pylint calculator --fail-on=error
pytest: pytest:
...@@ -35,19 +33,17 @@ pytest: ...@@ -35,19 +33,17 @@ pytest:
- download_dependencies - download_dependencies
needs: needs:
- download_dependencies - download_dependencies
before_script:
- source .venv/bin/activate
script: script:
- source .venv/bin/activate
- pytest calculator - pytest calculator
# deploy: deploy:
# stage: deploy stage: deploy
# needs: needs:
# - pylint - pylint
# - pytest - pytest
# before_script: script:
# - apt-get update - apt-get update
# - apt-get install -y openssh-client sshpass - apt-get install -y openssh-client sshpass
# script: - sshpass -p <mot-de-passe> ssh -o StrictHostKeyChecking=no <nom-d'utilisateur>@<ip-de-ma-vm>
# - sshpass -p viazero ssh -o StrictHostKeyChecking=no viazero@<ip-de-ma-vm> "commandes à lancer sur la VM séparées par des &&"
# "cd /var/www/cicd && git pull && sudo systemctl restart calculator"
# CICD 2022 # CICD 2022
Bienvenue à cette fabuleuse formation. ## TP3: Déploiement continu
Je t'invite à forker le repo et à cloner ton fork sur ta machine. ### Objectifs
## Le sujet du tp - On va d'abord déployer sur un serveur de test notre site web
- On va ensuite faire une CD qui le fait pour nous
- On va coder une fonctionnalité et elle sera automatiquement déployée sur le serveur de test
Le sujet du tp est de proprifier et tester le code d'une calculatrice en ligne. Une simple page web où on peut entrer une expression mathématique et qui nous donne le résultat. ### Pour déployer un site web, tout se passe dans deploy/setup.md
## Pour commencer les tps ### Pour faire une CD, tout se passe dans le .gitlab-ci.yml
Les branches `tp1`, `tp2`, `tp3` contiennent les fichiers de base pour chaque tp. ### Pour coder une fonctionnalité, tout se passe dans calculator.py (À toi de voir ce que tu veux coder)
La correction sont dans les branches `tp1-correction`, `tp2-correction`.
- tu peux rajouter un opérateur par exemple modulo, division euclidienne, etc...
- ensuite tu commit et push, et la CI va se déclencher et déployer sur le serveur de test
- rend toi sur ton site web et vérifie que tout fonctionne
# Setup la vm pour notre calculatrice # Setup la vm pour notre calculatrice
## Clone le repo ## Clone le repo sur la vm distante
```bash ```bash
sudo su
mkdir -p /var/www mkdir -p /var/www
cd /var/www cd /var/www
git clone https://gitlab.viarezo.fr/<login>/cicd.git git clone https://gitlab.viarezo.fr/<login>/cicd.git # Et on clone son fork
``` ```
## Installe les dépendances ## Installe les dépendances
...@@ -15,15 +16,15 @@ cd cicd ...@@ -15,15 +16,15 @@ cd cicd
pip install -r requirements.txt pip install -r requirements.txt
``` ```
## Ajoute le service ## Lancer le site web avec un service
Un service c'est une application qui tourne en tâche de fond sur la machine. On va créer un service pour notre application. Un service est un fichier qui se trouve dans `/etc/systemd/system/` et qui s'appelle `quelquechose.service`. On a déjà crée le fichier pour vous, vous n'avez plus qu'à le copier dans le bon dossier. Un service c'est une application qui tourne en tâche de fond sur la machine. On va créer un service pour notre application.
Pour configurer un service, on va créer un fichier de configuration dans `/etc/systemd/system/` et qui s'appelle `quelquechose.service`. On a déjà crée le fichier pour vous, vous n'avez plus qu'à le copier dans le bon dossier.
```bash ```bash
sudo cp deploy/calculator.service /etc/systemd/system/ cp deploy/calculator.service /etc/systemd/system/
sudo systemctl daemon-reload systemctl daemon-reload # On actualise la liste des services
sudo systemctl enable calculator systemctl start calculator # On démarre le service/notre calculatrice
sudo systemctl start calculator
``` ```
## Dans ton navigateur ## Dans ton navigateur
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment