Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule pokazano, jak utworzyć i wdrożyć aplikację internetową Hugo w usłudze Azure Static Web Apps. Końcowy wynik to nowa statyczna aplikacja internetowa platformy Azure ze skojarzonymi funkcjami GitHub Actions, która zapewnia kontrolę nad sposobem tworzenia i publikowania aplikacji.
W tym poradniku nauczysz się, jak:
- Tworzenie aplikacji Hugo
- Konfigurowanie usługi Azure Static Web Apps
- Wdrażanie aplikacji Hugo na platformie Azure
Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Wymagania wstępne
- Konto Azure z aktywną subskrypcją. Jeśli go nie masz, możesz bezpłatnie utworzyć konto.
- Konto usługi GitHub. Jeśli go nie masz, możesz bezpłatnie utworzyć konto.
- Zainstalowano instalatora usługi Git. Jeśli go nie masz, możesz zainstalować narzędzie Git.
Tworzenie aplikacji Hugo
Tworzenie aplikacji Hugo przy użyciu interfejsu wiersza polecenia hugo:
Postępuj zgodnie z przewodnikiem instalacji platformy Hugo w systemie operacyjnym.
Otwieranie terminalu
Uruchom Hugo CLI, aby utworzyć nową aplikację.
hugo new site static-appPrzejdź do nowo utworzonej aplikacji.
cd static-appInicjowanie repozytorium Git.
git initUpewnij się, że gałąź ma nazwę
main.git branch -M mainNastępnie dodaj motyw do witryny, instalując motyw jako moduł podrzędny git, a następnie określając go w pliku konfiguracji Hugo.
git submodule add https://github.com/budparr/gohugo-theme-ananke.git themes/ananke echo 'theme = "ananke"' >> config.tomlZatwierdź zmiany.
git add -A git commit -m "initial commit"
Wypychanie aplikacji do usługi GitHub
Aby nawiązać połączenie z usługą Azure Static Web Apps, potrzebujesz repozytorium w usłudze GitHub. W poniższych krokach pokazano, jak utworzyć repozytorium dla witryny.
Utwórz puste repozytorium GitHub (nie twórz pliku README) na podstawie https://github.com/new nazwy hugo-static-app.
Dodaj repozytorium GitHub jako zdalne do lokalnego repozytorium. Pamiętaj, aby dodać nazwę użytkownika usługi GitHub zamiast symbolu zastępczego
<YOUR_USER_NAME>w poniższym poleceniu.git remote add origin https://github.com/<YOUR_USER_NAME>/hugo-static-appWgraj lokalne repozytorium na GitHub.
git push --set-upstream origin main
Wdrażanie aplikacji internetowej
W poniższych krokach pokazano, jak utworzyć nową aplikację witryny statycznej i wdrożyć ją w środowisku produkcyjnym.
Tworzenie aplikacji
Przejdź do witryny Azure Portal.
Wybieranie pozycji Utwórz zasób
Wyszukaj usługę Static Web Apps
Wybieranie pozycji Static Web Apps
Wybierz Utwórz
Na karcie Podstawy wprowadź następujące wartości.
Majątek Wartość Subskrypcja Nazwa subskrypcji platformy Azure. Grupa zasobów my-hugo-group Nazwa hugo-static-app Typ planu Bezpłatna Region dla interfejsu API usługi Azure Functions i środowisk przejściowych Wybierz region najbliżej Ciebie. Źródło Usługa GitHub Wybierz pozycję Zaloguj się przy użyciu usługi GitHub i uwierzytelnij się przy użyciu usługi GitHub.
Wprowadź następujące wartości usługi GitHub.
Majątek Wartość Organizacja Wybierz żądaną organizację usługi GitHub. Repozytorium Wybierz pozycję hugo-static-app. Gałąź Wybierz main. Uwaga / Notatka
Jeśli nie widzisz żadnych repozytoriów, może być konieczne autoryzowanie usługi Azure Static Web Apps w usłudze GitHub. Przejdź do repozytorium GitHub i przejdź do pozycji Ustawienia > Aplikacje > autoryzowane przez OAuth, wybierz pozycję Azure Static Web Apps, a następnie wybierz pozycję Udziel. W przypadku repozytoriów organizacji musisz być właścicielem organizacji, aby udzielić uprawnień.
W sekcji Szczegóły kompilacji wybierz pozycję Hugo z listy rozwijanej Ustawienia wstępne kompilacji i zachowaj wartości domyślne.
Przejrzyj i twórz
Wybierz pozycję Przejrzyj i utwórz , aby sprawdzić, czy wszystkie szczegóły są poprawne.
Wybierz pozycję Utwórz , aby rozpocząć tworzenie statycznej aplikacji internetowej usługi App Service i aprowizować funkcję GitHub Actions na potrzeby wdrożenia.
Po zakończeniu wdrażania wybierz pozycję Przejdź do zasobu.
Na ekranie zasobu wybierz link URL , aby otworzyć wdrożona aplikację. Może być konieczne odczekanie minuty lub dwóch na ukończenie funkcji GitHub Actions.
Niestandardowa wersja hugo
Podczas generowania statycznej aplikacji internetowej jest generowany plik przepływu pracy zawierający ustawienia konfiguracji publikowania dla aplikacji. Można wyznaczyć wersję Hugo w pliku przepływu pracy, podając określoną wartość w sekcji HUGO_VERSIONenv. Poniższa przykładowa konfiguracja pokazuje, jak ustawić hugo na określoną wersję.
jobs:
build_and_deploy_job:
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
runs-on: ubuntu-latest
name: Build and Deploy Job
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Build And Deploy
id: builddeploy
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}
repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for GitHub integrations (i.e. PR comments)
action: "upload"
###### Repository/Build Configurations - These values can be configured to match you app requirements. ######
# For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
app_location: "/" # App source code path
api_location: "api" # Api source code path - optional
output_location: "public" # Built app content directory - optional
###### End of Repository/Build Configurations ######
env:
HUGO_VERSION: 0.58.0
Alternatywne wdrażanie przy użyciu interfejsu wiersza polecenia programu SWA
Jeśli aplikacja Hugo ma zależności wymagające dodatkowej konfiguracji, takie jak moduły GoLang, możesz użyć interfejsu wiersza polecenia usługi Azure Static Web Apps do bezpośredniego wdrożenia. Poniżej przedstawiono przykładowy przepływ pracy GitHub Actions, który instaluje CLI i wdraża aplikację.
jobs:
build_and_deploy_job:
runs-on: ubuntu-latest
name: Build and Deploy with SWA CLI
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
submodules: true
- name: Install SWA CLI
run: npm install -g @azure/static-web-apps-cli
- name: Build Hugo site
run: |
# Install Hugo modules
hugo mod get
# Minify the supported output formats
hugo --minify
- name: Deploy with SWA CLI
env:
AZURE_STATIC_WEB_APPS_API_TOKEN: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}
run: |
swa deploy ./public --api-location ./api --env production
Ten przepływ pracy kompiluje witrynę Hugo i wdraża ją przy użyciu interfejsu wiersza polecenia usługi Azure Static Web Apps. Przyjęto założenie, go.mod że plik znajduje się w katalogu głównym projektu w celu zarządzania zależnościami i konfiguracjami modułów.
Korzystanie z funkcji Git Info w aplikacji Hugo
Jeśli aplikacja Hugo korzysta z funkcji Git Info, domyślny plik przepływu pracy utworzony dla statycznej aplikacji webowej używa akcji checkout na GitHubie w celu pobrania wersji uproszczonej repozytorium Git z domyślną głębokością 1. W tym scenariuszu Hugo widzi wszystkie pliki zawartości pochodzące z jednego zatwierdzenia, dlatego mają tego samego autora, znacznik czasu ostatniej modyfikacji i pozostałe .GitInfo zmienne.
Zaktualizuj plik przepływu pracy, aby pobrać pełną historię Git, dodając nowy parametr w actions/checkout kroku, aby ustawić fetch-depth na 0 (bez limitu).
- uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0
Pobieranie pełnej historii zwiększa czas kompilacji przepływu pracy GitHub Actions, ale zmienne .Lastmod i .GitInfo są dokładne i dostępne dla każdego z plików zawartości.
Uprzątnij zasoby
Jeśli nie zamierzasz nadal korzystać z tej aplikacji, możesz usunąć zasób statycznej aplikacji internetowej platformy Azure, wykonując następujące kroki:
- Otwórz portal Azure
- Na górnym pasku wyszukiwania wyszukaj aplikację według podanej wcześniej nazwy
- Kliknij aplikację
- Kliknij przycisk Usuń
- Kliknij przycisk Tak , aby potwierdzić akcję usuwania