[PYTHON] Environnement de déploiement facile avec gaffer + tissu

Un demi-mémo personnel ou un brouillon de blog. Supervisord est réputé pour la gestion des processus d'applications dans le domaine python. Quand j'ai lu la documentation de gunicorn, j'ai trouvé un outil similaire appelé gaffer, alors j'ai essayé de l'utiliser avec du tissu.

Installation

$ pip install gaffer

Facile.

Procfile peut être utilisé

Si vous avez joué avec heroku, vous le rencontrerez probablement. Vous pouvez créer le comportement spécifié en mettant quelque chose appelé Procfile dans le projet et en le lisant. Quand on court avec gunicorn, ça ressemble à ça

gunicorn: gunicorn main:app -c gunicorn.conf.py

Je vais essayer de l'utiliser pour le moment

Si vous voulez l'essayer pour le moment, $ gaffer start lira le Procfile dans le même répertoire et exécutera le contenu.

Si vous voulez en faire un démon, exécutez $ gaffer load pour faire de Procfile un démon. Il sera envoyé à gafferd.

À ce stade, si gafferd n'est pas démarré dans l'état du démon, ConnectError sera renvoyé. Assurez-vous que gafferd --daemon s'exécute au démarrage du système d'exploitation. (Je suis resté coincé ici pendant une heure)

Fonctionne avec le tissu

Comment s'appelle-t-elle coopération? Pour le moment, vous pouvez déployer avec les éléments suivants.

fabfile.py


#!/usr/bin/env python
# -*- coding: utf-8 -*-

from fabric.api import local, run, env, cd, hosts

CODE_DIR = "/votre/Direct/Li"
env.user = "Nom d'utilisateur"


@hosts('localhost:5959')
def commit():
    message = raw_input("Enter a git commit message: ")
    local("git add . && git commit -m \" %s \"" % message)
    local("git push github master")


@hosts('serveur')
def deploy():
    with cd(CODE_DIR):
        run("git pull origin master")
        #Recharger
        run("gaffer unload")
        run("gaffer load")

Je vais le vérifier en pensant que je n'ai pas à le décharger un par un.

Recommended Posts

Environnement de déploiement facile avec gaffer + tissu
Environnement toxique facile avec Jenkins
Easy Grad-CAM avec pytorch-gradcam
De Kafka à KSQL - Construction d'environnement facile avec docker
Créez un environnement de développement python avec vagrant + ansible + fabric
environnement python avec docker-compose
Débogage facile avec ipdb
Environnement virtuel avec Python 3.6
TopView facile avec OpenCV
Construction et déploiement faciles du serveur Web avec EB CLI + git + Django
De la construction de l'environnement au déploiement pour flask + Heroku avec Docker
First Fabric (outil de déploiement Python)
Créer un environnement avec virtualenv
[Analyse de co-occurrence] Analyse de co-occurrence facile avec Python! [Python]
Environnement de site Web de configuration minimale avec django
Installer l'environnement Python avec Anaconda
Gérez l'environnement python avec virtualenv
Transfert de fichiers rapide avec tissu
Synchronisation facile des dossiers avec Python
Créer un environnement python3 avec ubuntu 16.04
Préparer l'environnement python3 avec Docker
Construire un environnement python avec direnv
Compilation facile de Python avec NUITKA-Utilities
Serveur HTTP facile avec Python
Connexion proxy facile avec django-hijack
Changer d'environnement virtuel avec jupyter
Définir des variables d'environnement avec lambda-uploader
Faites du SSH en plusieurs étapes avec Fabric
J'ai essayé le déploiement autonome de play avec fabric [opération AWS avec boto] [déploiement de lecture]