- Cloner le repository - Créer le fichier requirements.txt Insérer Django=4.2 - Créer le dossier app - Créer le fichier Dockerfile (On n’inclut pas les apk, mkdir, chmod..) FROM python :3.9.16-alpine3.17 … - Créer le fichier docker-compose.yml (sans la section command) Version : ‘3.9’ … - Créer le .dockerignore - Lancer docker-compose build - Lancer docker-compose run –rm app sh –c “django-admin startproject app .’’ - Configurer le settings.py en utilisant os.environ (ça permet d’éviter que les données sensibles s’affichent dans github). On modifie pas encore les static et media - Insérer dans le Dockerfile les apk - Créer une app avec docker-compose run –rm app sh –c “django-admin startapp core’’ - Ajouter l’app parmi les INSTALLED_APPS dans settings.py - On crée les modèles - On ajoute les modèles à l’admin - On insère un dossier management dans core puis on y crée un fichier __init__.py - On insère un dossier commands dans management puis on y crée un fichier __init__.py - On crée ensuite le fichier wait_for_db.py à l’intérieur de commands - On ajoute la section command dans docker-compose.yml - On peut tester l’avancement avec docker-compose-up - On peut ajouter mkdir, chown et chmod dans le Dockerfile - Ajouter /data au .gitignore - On crée les STATIC / MEDIA (ROOT et URL) - On ajoute les MEDIA dans le fichier urls.py - On lance docker-compose run –rm app sh –c “python manage.py createsuperuser’’ - Lancer docker-compose up
Pour le déploiement de l’app
- On crée le dossier proxy (et tout son contenu)
- On crée le dossier scripts (et tout son contenu) - Il faut se rassurer de convertir l’encodage des scripts run.sh de CRF à LF - On crée le fichier docker-compose-deploy.yml - On ajoute les scripts dans le Dockerfile principal - On efface les fichiers déjà uploadés en local avec docker-compose –f docker-compose- deploy.yml down -–volumes. - On reconstruit le conteneur avec docker-compose –f docker-compose-deploy.yml build - On relance le conteneur avec docker-compose –f docker-compose-deploy.yml up - Sans stopper le conteneur on ouvre un autre terminal où on va créer le superuser - On redéfinit le superuser avec docker-compose –f docker-compose-deploy.yml run -–rm app sh -c “ python manage.py createsuperuser’’
Pour la mise en place du serveur AWS (utiliser bash)
- On crée l’instance aws (voir vidéo)
- On crée la paire de clés : cat ~/.ssh/id_rsa.pub (Il faut se rassurer d’avoir déjà installer le client ssh dans les users du PC) - On utilise l’adresse IPV4 généré pour se connecter au serveur
Exemple : ssh ec2-user@ec2-54-90-137-187.compute-1.amazonaws.com
- On installe git avec sudo yum install git –y
- On installe docker avec sudo yum install –y docker - On lance docker avec sudo systemctl start docker - On se connecte à docker avec sudo usermod -aG docker ec2-user - On installe docker-compose(voir sur le site) avec sudo curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose- linux-x86_64 -o /usr/local/bin/docker-compose (la commande ci n’est qu’un exemple) - On teste et on exécute docker-compose avec sudo chmod +x /usr/local/bin/docker- compose - On sort de l’instance avec exit et on se reconnecte pour que les modifications s’appliquent - On crée les clés de déploiement pour github On va dans les settings du repo github puis dans la settings (deploy keys) On crée les clés en question avec ssh-keygen –t ed25519 –b 4096 La 1ere combinaison crée la connexion entre la machine et le serveur La 2e connexion crée la connexion entre le serveur et github On valide la création et on peut entrer un phrase d’accès (optionnel) On tape ensuite cat ~/.ssh/id_ed25519.pub et on a la clé de connexion au serveur On peut coller la clé de connexion dans github et valider On clone ensuite le repo github avec le lien SSH On vérifie que le projet est bien cloné avec ls On se positionne sur le dossier cloné avec cd et on exécute vi .env On modifie le fichier en définissant les paramètres de connexions On exécute docker-compose –f docker-compose-deploy.yml up -d Dans le cas où docker-compose a des problèmes de permission on exécute : sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose On lance docker-compose –f docker-compose-deploy.yml run –rm app sh –c ‘’python manage.py createsuperuser’’ Une fois le superuser créé l’application est terminée. De même toute autre exécution python se fera par la syntaxe précédente.
Effectuer des modifications sur l’app déployée
On lance docker-compose –f docker-compose-deploy.yml logs pour voir toutes les infos
sur les couches du conteneur et les évolutions Pour récupérer les modifications envoyées sur github on effectue git pull origin On peut effectuer docker-compose –f docker-compose-deploy.yml build nom_app pour ajouter les modifications Ensuite docker-compose –f docker-compose-deploy.yml up –no-deps –d nom_app pour vérifier si l’app est à jour.
L'analyse fondamentale facile à apprendre: Le guide d'introduction aux techniques et stratégies d'analyse fondamentale pour anticiper les événements qui font bouger les marchés
Secrets du Marketing des Médias Sociaux 2021: Conseils et Stratégies Extrêmement Efficaces votre Facebook (Stimulez votre Engagement et Gagnez des Clients Fidèles)
Apprendre Python rapidement: Le guide du débutant pour apprendre tout ce que vous devez savoir sur Python, même si vous êtes nouveau dans la programmation
L'analyse technique facile à apprendre: Comment construire et interpréter des graphiques d'analyse technique pour améliorer votre activité de trading en ligne.
La communication professionnelle facile à apprendre: Le guide pratique de la communication professionnelle et des meilleures stratégies de communication d'entreprise
Le trading des bandes de bollinger facile à apprendre: Comment apprendre à utiliser les bandes de bollinger pour faire du commerce en ligne avec succès
Dans l'esprit des grand investisseurs: Un voyage à la découverte de la psychologie utilisée par les plus grands investisseurs de tous les temps à travers des analyses opérationnell
Le money management facile à apprendre: Comment tirer profit des techniques et stratégies de gestion de l'argent pour améliorer l'activité de trading en ligne