Outils
Objectifs
- Estimer son travail
- Avoir un environnement de travail fonctionnel
- Utiliser GitLab et GitHub Classroom
Rendu
- Rapport individuel en Markdown à rendre avant le prochain cours
- GitHub Classroom : https://classroom.github.com/a/nJ316FV5
- Nom du fichier :
report.md
à la racine du répertoire - Devoir sur Cyberlearn : mettre le lien de la pull request GitLab dans le champ texte
- Délai: 1 semaine
Tâches
Estimer son travail
- Estimez le temps nécessaire pour réaliser ce laboratoire
- Découpez le travail en tâches pour faciliter l'estimation
- Lorsque vous aurez terminé le laboratoire, comparez le temps estimé avec le temps réellement passé
- Le but n'étant pas d'estimer correctement, mais comprendre comment vous pourriez améliorer vos estimations
Tâche | Temps estimé | Temps réel | Commentaire |
---|---|---|---|
Estimation | 10m | 15m | ... |
... | ... | ... | ... |
Total | 2h | 1h30 | ... |
Environnement de travail
Installez et vérifiez les outils suivants (mettre à jour si nécessaire):
- Visual Studio Code
- Git
- Vérifiez avec
git --version
- Vérifiez avec
- Docker
- Vérifiez avec
docker --version
- Vérifiez avec
docker compose version
- Vérifiez avec
- Node.js
- Au moins la dernière version LTS
- Vérifiez avec
node --version
- Vous pouvez utiliser nvm pour gérer les versions de Node.js
- Python
- Vérifiez avec
python --version
- Vous pouvez utiliser pyenv pour gérer les versions de Python
- Vérifiez avec
- Poetry
- Vérifiez avec
poetry --version
- Utilisez les virtualenvs en local avec
poetry config virtualenvs.in-project true
- Vérifiez avec
- MiniKube
- Vérifiez avec
minikube version
- Vérifiez avec
- Java
- Au moins la dernière version LTS
- Vérifiez avec
java --version
- Maven
- Vérifiez avec
mvn --version
- Vérifiez avec
Conseils
- Préférez les versions stables (LTS) aux versions de développement
- Moins de bugs
- Préférez les versions officielles aux versions modifiées (p. ex. Anaconda)
- On n'installe que les outils nécessaires
- Préférez les gestionnaires de versions (nvm et pyenv) aux installations manuelles
- Permet de gérer plusieurs versions en parallèle
Conseils pour Windows
- Utilisez Chocolatey pour installer les outils
- Utilisez cmder comme terminal
- Intégration avec Windows Terminal
- Il est possible que vous deviez désactiver l'alias d'exécution de Python
GitLab
- Créez un compte sur GitLab (si vous n'en avez pas déjà un)
- Préférez un compte privé que vous utiliserez par la suite
- Créez un projet privé sur GitLab
- Nom du projet :
HEIG-VD DevOps
- Identifiant du projet (laisser par défaut) :
heig-vd-devops
- Nom du projet :
- Ajoutez
blueur
comme membre du projet- Trouvez le bon rôle qui permet voir tous les merge requests (MR) sans pouvoir pousser du code
- Protégez la branche
main
- Personne ne doit pouvoir pousser directement sur la branche
- Seuls les mainteneurs peuvent fusionner des MR
- Clonez le répertoire sur votre machine
- Vérifiez que vous ne pouvez pas pousser directement sur la branche
main
- Vérifiez que vous ne pouvez pas pousser directement sur la branche
- Créez une issue (ticket) dans le projet
- Titre :
Rendu labo 01
- Assignez l'issue à vous-même
- Titre :
- Sur votre ordinateur, créez une nouvelle branche
feature/01-tools
et allez dessus- Créez un projet Vue 3 dans le dossier
/frontend
- https://vuejs.org/guide/quick-start.html#creating-a-vue-application
- Depuis la racine du répertoire, exécutez
npm create vue@latest
- Project name:
frontend
- Add TypeScript? Yes
- Add JSX Support? No
- Add Vue Router for Single Page Application development? No
- Add Pinia for state management? No
- Add Vitest for Unit testing? No
- Add an End-to-End Testing Solution? No
- Add ESLint for code quality? Yes
- Add Prettier for code formatting? Yes
- Project name:
- Installez les dépendances avec
npm install
- Testez le serveur de développement avec
npm run dev
- Créez un commit avec les changements et poussez la branche sur GitLab
- Créez un projet Poetry dans le dossier
/backend
- https://python-poetry.org/docs/basic-usage/#project-setup
- Depuis la racine du répertoire, exécutez
poetry new backend
- Depuis le dossier
/backend
, installez FastAPI- https://fastapi.tiangolo.com/#installation
poetry add fastapi uvicorn[standard]
- Créez un fichier
main.py
dans/backend/backend
avec le code suivant ci-dessous - Testez le serveur de développement avec
poetry run uvicorn backend.main:app --reload
- Vous pourrez voir la documentation de l'API à l'adresse http://127.0.0.1:8000/docs
- Ajoutez un fichier
.gitignore
adapté au projet
- Créez un projet Vue 3 dans le dossier
- Créez un commit avec les changements et poussez la branche sur GitLab
- Créez une MR pour fusionner votre branche dans
main
- Liez d'une façon ou d'une autre la MR à l'issue
Rendu labo 01
- Assignez la MR à vous-même
- Liez d'une façon ou d'une autre la MR à l'issue
- Essayez l'outils de suivi du temps de GitLab pour vos estimations
/estimate 2h
pour estimer le temps nécessaire pour la MR/spend 1h30
pour indiquer le temps réellement passé
- Cherchez quelles sont les bonnes pratiques pour un message de commit
- Écrivez quelques mots sur les bonnes pratiques que vous avez trouvé dans votre rapport
/backend/backend/main.py
from typing import Union
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: Union[str, None] = None):
return {"item_id": item_id, "q": q}
Bonus : Réécriture de Git
- Clonez le répertoire Git Exercise
- Faites les exercices indiqués dans le README