[PYTHON] Einfache Bereitstellungsumgebung mit Gaffer + Fabric

Ein halbes persönliches Memo oder ein Entwurf eines Blogs. Supervisord ist bekannt für das Prozessmanagement von Anwendungen im Python-Bereich. Als ich die Gunicorn-Dokumentation las, fand ich ein ähnliches Werkzeug namens Gaffer, also versuchte ich es mit Stoff zu verwenden.

Installation

$ pip install gaffer

Einfach.

Procfile kann verwendet werden

Wenn Sie jemals mit Heroku herumgespielt haben, bin ich sicher, dass es zu Ihnen kommen wird. Sie können das angegebene Verhalten festlegen, indem Sie Procfile in das Projekt einfügen und lesen. Wenn man mit Gunicorn läuft, sieht es so aus

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

Ich werde es vorerst versuchen

Wenn Sie es vorerst versuchen möchten, liest $ gaffer start die Procfile im selben Verzeichnis und führt den Inhalt aus.

Wenn Sie es zu einem Daemon machen möchten, führen Sie $ gaffer load aus, um Procfile zu einem Daemon zu machen. Es wird an Gafferd gesendet.

Zu diesem Zeitpunkt wird ConnectError zurückgegeben, wenn Gafferd nicht im Daemon-Status gestartet wird. Stellen Sie sicher, dass gafferd --daemon ausgeführt wird, wenn das Betriebssystem gestartet wird. (Ich blieb hier für eine Stunde stecken)

Arbeitet mit Stoff

Wie heißt es Kooperation? Derzeit können Sie Folgendes bereitstellen.

fabfile.py


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

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

CODE_DIR = "/Ihre/Direkte/Li"
env.user = "Nutzername"


@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('Server')
def deploy():
    with cd(CODE_DIR):
        run("git pull origin master")
        #Neu laden
        run("gaffer unload")
        run("gaffer load")

Ich werde es überprüfen, während ich denke, dass ich es nicht einzeln entladen muss.

Recommended Posts

Einfache Bereitstellungsumgebung mit Gaffer + Fabric
Einfache toxische Umgebung mit Jenkins
Easy Grad-CAM mit Pytorch-Gradcam
Von Kafka bis KSQL - Einfache Umgebungskonstruktion mit Docker
Erstellen Sie eine Python-Entwicklungsumgebung mit Vagrant + Ansible + Fabric
Python-Umgebung mit Docker-Compose
Einfaches Debuggen mit ipdb
Virtuelle Umgebung mit Python 3.6
Einfache TopView mit OpenCV
Einfache Erstellung und Bereitstellung von Webservern mit EB CLI + git + Django
Vom Umgebungsaufbau bis zum Einsatz für Kolben + Heroku mit Docker
First Fabric (Python-Bereitstellungstool)
Erstellen Sie eine Umgebung mit virtualenv
[Analyse des gemeinsamen Auftretens] Einfache Analyse des gemeinsamen Auftretens mit Python! [Python]
Minimale Konfigurations-Website-Umgebung mit Django
Installieren Sie die Python-Umgebung mit Anaconda
Verwalten Sie die Python-Umgebung mit virtualenv
Schnelle Dateiübertragung mit Stoff
Einfache Ordnersynchronisation mit Python
Erstellen Sie eine Python3-Umgebung mit Ubuntu 16.04
Bereiten Sie die Python3-Umgebung mit Docker vor
Erstellen Sie mit direnv eine Python-Umgebung
Einfache Python-Kompilierung mit NUITKA-Utilities
Einfacher HTTP-Server mit Python
Einfache Proxy-Anmeldung mit Django-Hijack
Wechseln Sie die virtuelle Umgebung mit Jupiter
Umgebungsvariablen mit Lambda-Uploader einstellen
Führen Sie mehrstufige SSH mit Fabric durch
Ich habe versucht, eine eigenständige Bereitstellung von Play with Fabric [AWS-Operation mit Boto] [Play Deployment] durchzuführen.