Planowanie statycznej aplikacji internetowej na platformie Azure
Ostatecznym celem jest hostowanie aplikacji na platformie Azure. Usługa Azure Static Web Apps dba o aprowizację wszystkich niezbędnych zasobów platformy Azure.
Jednak zanim będzie można hostować aplikację potrzebne jest jakieś narzędzie do kompilowania aplikacji w miarę wprowadzania zmian. Te zmiany mogą być wprowadzane przez zatwierdzenia lub żądania ściągnięcia do repozytorium. Kluczową funkcją usługi Azure Static Web Apps jest skonfigurowanie przepływu pracy funkcji GitHub Actions w celu kompilowania i publikowania aplikacji.
Po utworzeniu zasobu usługi Azure Static Web Apps zostanie utworzony przepływ pracy funkcji GitHub Actions. Przepływ pracy jest wyzwalany natychmiast i dba o kompilowanie i publikowanie aplikacji. Przepływ pracy jest również wyzwalany za każdym razem, gdy wprowadzisz zmiany do obserwowanej gałęzi swojego repozytorium.
Azure Static Web Apps
Są dwa zautomatyzowane aspekty wdrażania aplikacji internetowej. Pierwszy ustanawia podstawowe zasoby platformy Azure tworzące aplikację. Drugi to przepływ pracy funkcji GitHub Actions, który kompiluje i publikuje aplikację.
Gdy publikujesz aplikację w sieci Web za pomocą usługi Azure Static Web Apps, otrzymujesz szybki hosting aplikacji internetowej oraz skalowalne interfejsy API. Otrzymujesz także dostępny zunifikowany przepływ pracy kompilowania i wdrażania zapewniany przez funkcję GitHub Actions.
Łączenie wystąpienia usługi Static Web Apps z usługą GitHub
Usługa Azure Static Web Apps jest przeznaczona do hostowania aplikacji, gdy kod źródłowy działa w usłudze GitHub. Podczas tworzenia wystąpienia usługi Static Web Apps logujesz się do usługi GitHub i określasz repozytorium zawierające kod aplikacji.
Potrzebujesz również określić trzy ścieżki folderów w repozytorium, aby aplikacja mogła być automatycznie kompilowana i wdrażana:
Lokalizacja | Przykład lokalizacji | opis | Wymagania |
---|---|---|---|
Lokalizacja aplikacji | Klient | Lokalizacja kodu źródłowego aplikacji internetowej | Tak |
Lokalizacja wyjściowa | wwwroot | Lokalizacja artefaktów kompilacji aplikacji | Nie. |
Lokalizacja interfejsu API | Interfejs API | Lokalizacja kodu źródłowego interfejsu API | Nie. |
Lokalizacja danych wyjściowych jest ścieżką względną do katalogu publikowania aplikacji. Rozważmy na przykład aplikację w folderze Client
, która wyprowadza swoje skompilowane zasoby do folderu bin/<build profile>/<framework>/publish/wwwroot
. W takim przypadku musisz określić wwwroot
tylko lokalizację, ponieważ system publikowania zajmuje się resztą prefiksu.
Z kodu źródłowego do zasobów statycznych przy użyciu funkcji GitHub Actions
Repozytorium GitHub zawiera kod źródłowy, a nie zasoby statyczne, więc należy go skompilować przed opublikowaniem.
Gdy tworzysz wystąpienie usługi Static Web Apps, platforma Azure tworzy w repozytorium przepływ pracy funkcji GitHub Actions. Za każdym razem, gdy wypychasz zmiany lub tworzysz żądanie ściągnięcia względem wydanej gałęzi, przepływ pracy kompiluje aplikację. Ten proces przekształca kod źródłowy w zasoby statyczne, które obsługuje platforma Azure. Po zakończeniu kompilacji akcja wdraża zasoby.
Akcja usługi GitHub jest dodawana do repozytorium w folderze .github/workflows. W razie potrzeby możesz przejrzeć lub zmodyfikować ten plik. Ustawienia wprowadzane podczas tworzenia zasobu są przechowywane w pliku akcji usługi GitHub.
Interfejs API zintegrowany z usługą Azure Functions
Jeśli aplikacja wymaga interfejsu API, możesz zaimplementować ją jako projekt usługi Azure Functions w repozytorium, a wystąpienie usługi Static Web Apps automatycznie wdraża je i hostuje. Przepływ pracy funkcji GitHub Actions, który kompiluje i wdraża aplikację, lokalizuje interfejs API w repozytorium przy użyciu nazwy folderu określonego w ścieżce lokalizacji interfejsu API.
Co się dzieje, gdy nie masz interfejsu API? Nie martw się. Jeśli usługa Azure Static Web Apps nie może znaleźć interfejsu API w wskazywanym folderze, nie publikuje interfejsu API, ale nadal publikuje aplikację.
Następne kroki
Czego potrzebujesz, aby móc opublikować aplikację internetową w usłudze Azure Static Web Apps? Wystarczy, że aplikacja znajduje się w repozytorium GitHub.