Menyebarkan situs Hugo ke Azure Static Web Apps

Artikel ini menunjukkan cara membuat dan menyebarkan aplikasi web Hugo ke Azure Static Web Apps. Hasil akhirnya adalah aplikasi Azure Static Web App baru dengan Tindakan GitHub terkait yang memberikan Anda kontrol mengenai cara pembuatan dan penerbitan aplikasinya.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Membuat aplikasi Hugo
  • Menyiapkan Azure Static Web Apps
  • Menyebarkan aplikasi Hugo ke Azure

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Prasyarat

Membuat aplikasi Hugo

Buat aplikasi Hugo menggunakan Antarmuka Tingkat Panggilan (CLI) Hugo:

  1. Ikuti panduan pemasangan untuk Hugo di OS Anda.

  2. Buka terminal

  3. Jalankan CLI Hugo untuk membuat aplikasi baru.

    hugo new site static-app
    
  4. Buka aplikasi yang baru dibuat.

    cd static-app
    
  5. Inisialisasi repositori Git.

    git init
    
  6. Pastikan cabang Anda diberi nama main.

    git branch -M main
    
  7. Berikutnya, tambahkan tema ke situs dengan memasang tema sebagai submodul git, kemudian tentukan temanya di dalam file konfigurasi Hugo.

    git submodule add https://github.com/budparr/gohugo-theme-ananke.git themes/ananke
    echo 'theme = "ananke"' >> config.toml
    
  8. Lakukan perubahan.

    git add -A
    git commit -m "initial commit"
    

Dorong aplikasi Anda ke GitHub

Anda memerlukan repositori di GitHub agar dapat tersambung ke Azure Static Web Apps. Langkah-langkah berikut ini memperlihatkan cara membuat repositori untuk situs Anda.

  1. Buat repositori GitHub kosong (jangan buat README) dari https://github.com/new bernama hugo-static-app.

  2. Tambahkan repositori GitHub sebagai repositori jarak jauh untuk repositori lokal Anda. Pastikan untuk menambahkan nama pengguna GitHub Anda sebagai pengganti <YOUR_USER_NAME> tempat penampung dalam perintah berikut.

    git remote add origin https://github.com/<YOUR_USER_NAME>/hugo-static-app
    
  3. Dorong repositori lokal Anda ke GitHub.

    git push --set-upstream origin main
    

Menyebarkan aplikasi web Anda

Langkah-langkah berikut menunjukkan cara membuat aplikasi situs statis baru dan menerapkannya ke lingkungan produksi.

Buat aplikasi

  1. Masuk ke portal Azure

  2. Pilih Buat Sumber Daya

  3. Cari Static Web Apps

  4. Pilih Aplikasi Web Statis

  5. Pilih Buat

  6. Pada tab Dasar, masukkan nilai berikut ini untuk setiap pengaturan.

    Properti Nilai
    Langganan Nama langganan Azure Anda.
    Grup sumber daya my-hugo-group
    Nama hugo-static-app
    Jenis paket Gratis
    Region for Azure Functions API dan lingkungan pementasan Pilih wilayah terdekat dengan Anda.
    Sumber GitHub
  7. Pilih Masuk dengan GitHub dan autentikasi dengan GitHub.

  8. Masukkan nilai GitHub berikut.

    Properti Nilai
    Organisasi Pilih organisasi GitHub yang Anda inginkan.
    Repositori Pilih hugo-static-app.
    Cabang Pilih utama.

    Catatan

    Jika Anda tidak melihat repositori apa pun, Anda mungkin perlu mengotorisasi Azure Static Web Apps di GitHub. Telusuri ke repositori GitHub Anda dan buka aplikasi Pengaturan >> Aplikasi OAuth Resmi, pilih Azure Static Web Apps, lalu pilih Berikan. Untuk repositori organisasi, Anda harus menjadi pemilik organisasi untuk memberikan izin.

  9. Di bagian Detail Build, pilih Hugo dari menu drop-down Prasetel Build dan tetap gunakan nilai default.

Tinjau dan buat

  1. Pilih Tinjau + Buat untuk memverifikasi bahwa semua detail sudah benar.

  2. Pilih Buat untuk memulai pembuatan App Service Static Web App dan provisikan GitHub Actions untuk penyebaran.

  3. Setelah penyebaran selesai, pilih Buka sumber daya.

  4. Pada layar sumber daya, pilih tautan URL untuk membuka aplikasi yang Anda sebarkan. Anda mungkin perlu menunggu satu atau dua menit agar GitHub Actions selesai.

    Deployed application

Versi Kustom Hugo

Saat Anda membuat Static Web App, file alur kerja yang dibuat mencakup pengaturan konfigurasi penerbitan untuk aplikasi. Anda dapat memilih versi Hugo tertentu di dalam file alur kerja dengan menyediakan nilai untuk HUGO_VERSION di bagian env. Contoh konfigurasi berikut menunjukkan cara mengatur Hugo ke versi tertentu.

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

Menggunakan fitur Info Git di aplikasi Hugo Anda

Jika aplikasi Hugo Anda menggunakan fitur Info Git, file alur kerja default yang dibuat untuk Static Web App menggunakan GitHub Action checkout untuk mengambil versi repositori Git Anda yang dangkal, dengan kedalaman default 1. Dalam skenario ini, Hugo melihat semua file konten Anda berasal dari satu penerapan, sehingga mereka memiliki penulis yang sama, tanda waktu modifikasi terakhir, dan variabel lainnya .GitInfo .

Perbarui file alur kerja Anda untuk mengambil riwayat Git lengkap Anda dengan menambahkan parameter baru di bawah actions/checkout langkah untuk mengatur fetch-depth ke 0 (tanpa batas):

      - uses: actions/checkout@v3
        with:
          submodules: true
          fetch-depth: 0

Mengambil riwayat lengkap meningkatkan waktu build alur kerja GitHub Actions Anda, tetapi variabel dan .GitInfo Anda .Lastmod akurat dan tersedia untuk setiap file konten Anda.

Membersihkan sumber daya

Jika ingin berhenti menggunakan aplikasi ini, Anda dapat menghapus sumber daya Azure Static Web Apps melalui langkah-langkah berikut:

  1. Membuka portal Azure
  2. Di bilah pencarian atas, cari aplikasi Anda menggunakan nama yang Anda berikan sebelumnya
  3. Klik aplikasi
  4. Klik tombol Hapus
  5. Klik Ya untuk mengonfirmasi tindakan penghapusan

Langkah berikutnya