Python: Tworzenie Makefile do wdrożenia na Stackhero
Ta dokumentacja jest częścią przewodnika Wdrażanie do produkcji. Pełny przewodnik znajdziesz tutaj: Jak wdrożyć swój kod Python do produkcji w kilka minut.
👋 Witamy w dokumentacji Stackhero!
Stackhero oferuje gotowe do użycia Python cloud, które upraszcza proces wdrażania:
- Wdrażaj swoją aplikację na produkcję w kilka sekund za pomocą prostego
git push.- Korzystaj z własnej nazwy domeny, z automatyczną konfiguracją certyfikatu HTTPS – bezpieczne połączenia są obsługiwane za Ciebie.
- Polegaj na automatycznych backupach, aktualizacjach jednym kliknięciem oraz przewidywalnych kosztach, dzięki czemu możesz skupić się na kodzie, a nie na zarządzaniu infrastrukturą.
- Korzystaj z wysokiej wydajności i bezpieczeństwa na prywatnej, dedykowanej infrastrukturze. Twoje środowisko jest odizolowane i chronione.
Oszczędzaj czas i upraszczaj swój workflow: Twój kod może działać na Python cloud hosting Stackhero już w 5 minut.
Aby poinformować Stackhero, jak uruchomić Twoją aplikację, użyjesz pliku Makefile w katalogu głównym projektu.
Jeśli nie miałeś jeszcze do czynienia z plikami
Makefilei poleceniemmake, nie martw się. Po prostu postępuj zgodnie z poniższymi instrukcjami.
Utwórz plik Makefile w katalogu głównym projektu z następującą zawartością:
run:
gunicorn app:app -b 0.0.0.0:8080 --error-logfile -
Kilka ważnych kwestii dotyczących tego Makefile:
- Reguła
runjest wymagana, ponieważ Stackhero uruchamia ją automatycznie. Prosimy jej nie zmieniać. - Polecenie
gunicorn app:app -b 0.0.0.0:8080 --error-logfile -to tylko przykład. Dostosuj je do wymagań swojej aplikacji. - Upewnij się, że polecenie gunicorn zaczyna się od znaku tabulacji. Jeśli pojawi się błąd typu "*** missing separator", oznacza to brak tabulacji.
W tym przykładzie Gunicorn służy do uruchomienia Twojej aplikacji (upewnij się, że znajduje się w pliku requirements.txt). Argument -b 0.0.0.0:8080 oznacza nasłuchiwanie na wszystkich interfejsach na porcie 8080. Jeśli wybierzesz inny port, pamiętaj o aktualizacji konfiguracji usługi Python w panelu Stackhero. Fragment app:app odnosi się do obiektu app w pliku app.py.