Deploy aplikacji Hugo za pomocą GitHub Actions
GitHub Actions to potężne narzędzie do automatyzacji procesów w repozytoriach GitHub. W poniższym artykule omówimy, jak wdrożyć stronę internetową opartą na Hugo, korzystając z GitHub Actions.
Konfiguracja GitHub Actions
Stwórz plik
.github/workflows/deploy.ymlw swoim repozytorium.Dodaj poniższą konfigurację do pliku
deploy.yml:
name: Deploy website
on:
  push:
    branches:
      - master
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Get files
        uses: actions/checkout@v3
        with: 
          submodules: true
          fetch-depth: 0
      - name: Setup Hugo
        uses: peaceiris/actions-hugo@v2
        with:
          hugo-version: '0.101.0'
          extended: true
      - name: Build
        run: hugo 
      - name: Install SSH key
        uses: shimataro/ssh-key-action@v2
        with: 
          key: ${{ secrets.SSH_KEY }}
          known_hosts: ${{ secrets.KNOWN_HOSTS }}
      - name: Deploy
        run: rsync -avhe "ssh -p ${{ secrets.SSH_PORT }}" --rsync-path="sudo rsync" ./public/ ${{ secrets.SSH_TARGET }}:${{ secrets.SSH_PATH }} --delete
Dodawanie Zmiennych w Repozytorium GitHub
Aby dodać zmienne, takie jak secrets.SSH_PORT, do swojego repozytorium GitHub:
Wejdź do ustawień swojego repozytorium na GitHub.
W sekcji “Secrets” (Tajemnice) możesz dodać nowe zmienne. Na przykład, aby dodać
SSH_PORT:- Kliknij “New repository secret” (Nowa tajemnica repozytorium).
 - Nadaj jej nazwę 
SSH_PORT. - Wprowadź odpowiednią wartość portu SSH.
 
Możesz zrobić to samo dla innych tajemnic, takich jak
SSH_KEY,KNOWN_HOSTS,SSH_TARGET, iSSH_PATH, które są używane w skrypcie do wdrażania.
Teraz, po każdym przesłaniu kodu na gałąź master, GitHub Actions automatycznie uruchomi proces wdrażania Twojej strony Hugo na serwerze docelowym przy użyciu podanych tajemnic.
