Aplikacja webowa w Pythonie – Flask – Deploy na Azure’a – #11
Tematem, który dziś poruszę będzie deploy Flaskowej aplikacji na serwer Azure. Nie jest to bardzo trudne zadanie i mam nadzieję, że po przejrzeniu tego tutoriala zrobisz to w kilka minut :)
Krok pierwszy…
…czyli utworzenie nowej aplikacji na Azurze. Po zalogowaniu się na swoje konto w portalu, kliknij zielony plus po lewej stronie – Nowy.
Następnie wybierz Sieć Web i mobilność i wyszukaj frazę “Flask”.
Ta da! Teraz wystarczy wybrać tę pozycję i znaleźć niebieski przycisk Utwórz, by serwer poprosił nas o podanie danych aplikacji.
Po wypełnieniu i odczekaniu chwili na zatwierdzenie możemy otworzyć naszą stronę, która powinna prezentować się jakoś tak:
Wróć do portalu Azure, wejdź w Zasoby i znajdź utworzoną przez siebie aplikacje. Po kliknięciu w nią, zostaniesz przekierowany na ekran konfiguracyjny z hiperdługą kolumną różnych podstron. Znajdź część kolumny nazwaną Wdrożenie aplikacji i przycisk Opcje wdrożenia (z kółkiem zębatym). Jeżeli znajduje się tam jakiś wers, wybierz go i kliknij Rozłącz, które znajduje się powyżej. Odśwież stronę i powróć do Opcji wdrożenia, spośród których wybierz Lokalne repozytorium Git.
Na podstronie Omówienie powinno teraz wyświetlić się parę nowych wersów – w tym adres klonowania. To ważne, więc sprawdź, czy na pewno masz go dostępnego :).
Skopiuj adres klonowania i wróć do konsoli w folderze ze swoim projektem. Utwórz tam repozytorium git, czyli wykonaj kolejno komendy:
1 |
git init |
1 |
git add -A |
1 |
git commit -m "Pierwszy commit" |
1 |
git remote add azure https://<username>@localgitdeployment.scm.azurewebsites.net:443/localgitdeployment.git |
Pod link podstaw oczywiście adres, który skopiowałeś wcześniej z ustawień aplikacji. Pozostało jedynie przesłać zmiany na remote’a:
1 |
git push azure master |
Azure prawdopodobnie poprosi Cię o hasło, które możesz ustawić w zakładce Poświadczenia wdrożenia (świetna nazwa :D).
Po odczekaniu odpowiednio dużej ilości czasu (to może chwilę potrwać), wchodzimy na stronę, a tam… przykre:
Niestety, Azure do działania potrzebuje jakiś swoich dziwnych ustawień. Aby go zadowolić, będziemy potrzebowali oprzeć naszą aplikację na nieco innym szkielecie – na szczęście nie wymaga to aż tylu zmian w kodzie. Skorzystajmy z pracy, którą już ktoś za nas wykonał, i ściągnijmy paczkę z Githuba z konfiguracją Flaska. Dla próby usuń to, co wysłałeś wcześniej na serwer i utwórz nowe repo, z zawartością pobraną właśnie z githuba. Pod adresem nazwa.azurewebsites.net powinna uruchomić Ci się strona:
Jeżeli wciąż coś jest nie tak, znajdź w kolumnie na Azurze zakładkę Konsola i zobacz, co znajduje się w folderze – może zostało tam coś, czego nie powinno być. Niepotrzebne foldery usuniesz korzystając po prostu z rm -r nazwa-folderu. Zawsze można też rozłączyć się ze starym repo i utworzyć nowe, które przez Opcje wdrożenia podłączymy ponownie. Zdradzę Ci, że sama zrobiłam to dziś z czternaście razy ;) Ale cóż, wiedza wymaga poświęceń.
Gdy zadziała Ci testowa strona, podmień jej views.py, layouty i pliki statyczne na te ze swojej aplikacji. Pamiętaj tylko, że jeśli wcześniej korzystałeś z bazy danych lokalnie, to teraz wypadałoby przerzucić się na Azurową. Zastage’uj pliki git add * i zacommituj: git commit -m "Nazwa commita". Tak jak wcześniej, wyślij zmiany na serwer przez git push i ciesz się efektem:
Brawo! Udało Ci się wrzucić swoją apkę w Internety ;).