6.9 KiB
title | prev | next |
---|---|---|
بهکاراندازی سایت | /docs/guide/shortcodes | /docs/advanced |
Hugo وبسایتهای استاتیک را ایجاد میکند و امکان گزینههای میزبانی انعطافپذیر را فراهم میکند. این صفحه راهنماهایی برای بهکاراندازی سایت هگزترا شما در پلتفرمهای مختلف ارائه میکند.
گیتهاب Pages
گیتهاب Pages روشی توصیه شده برای بهکاراندازی و میزبانی وبسایت شما به صورت رایگان است.
اگر سایت را با استفاده از hextra-starter-template راهاندازی سریع پیادهسازی میکنید، گردش کار گیتهاب Actions را به صورت خارج از جعبه ارائه کردهایم که بهکاراندازی خودکار در گیتهاب Pages به شما کمک میکند.
{{% details title="پیکربندی گیتهاب Actions" closed="true" %}}
در زیر یک پیکربندی مثال از hextra-starter-template آورده شده است:
# Sample workflow for building and deploying a Hugo site to GitHub Pages
name: Deploy Hugo site to Pages
on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
# Default to bash
defaults:
run:
shell: bash
jobs:
# Build job
build:
runs-on: ubuntu-latest
env:
HUGO_VERSION: 0.117.0
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: '1.21'
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: '0.117.0'
extended: true
- name: Build with Hugo
env:
# For maximum backward compatibility with Hugo modules
HUGO_ENVIRONMENT: production
HUGO_ENV: production
run: |
hugo \
--gc --minify \
--baseURL "https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/"
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
with:
path: ./public
# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
{{% /details %}}
{{< callout >}}
در تنظیمات مخزن خود، Pages > Build and deployment > Source را روی GitHub Actions تنظیم کنید:
{{< /callout >}}
بهطور پیشفرض، گردش کار گیتهاب Actions بالا .github/workflows/pages.yaml
فرض میکند که سایت در حال بهکاراندازی در https://<USERNAME>.github.io/<REPO>/
است.
اگر در حال استفاده از https://<USERNAME>.github.io/
هستید، سپس --baseURL
را تغییر دهید:
54
55
56
57
run: |
hugo \
--gc --minify \
--baseURL "https://${{ github.repository_owner }}.github.io/"
اگر میخواهید روی دامنه شخصی خود استقرار پیدا کند، لطفا مقدار --baseURL
را بر این اساس تغییر دهید.
کلودفلر Pages
- کد منبع سایت خود را در یک مخزن Git (به عنوان مثال گیتهاب) قرار دهید
- وارد پیشخوان کلودفلر شوید و حساب خود را انتخاب کنید
- در صفحه اصلی حسابکاربری، Workers & Pages > Create application > Pages > Connect to Git را انتخاب کنید
- مخزن را انتخاب کنید و در بخش Set up builds and Deployments اطلاعات زیر را وارد کنید:
Configuration | Value |
---|---|
Production branch | main |
Build command | hugo --gc --minify |
Build directory | public |
برای جزئیات بیشتر، بررسی کنید:
Netlify
- کد خود را به مخزن Git خود (گیتهاب، گیتلب و غیره) ارسال کنید.
- وارد کردن پروژه به Netlify
- اگر از [hextra-starter-template][hextra-starter-template] استفاده نمیکنید، موارد زیر را به صورت دستی پیکربندی کنید:
- دستور Build را روی
hugo --gc --minify
پیکربندی کنید - دایرکتوری Publish را برای
public
مشخص کنید HUGO_VERSION
متغیر محیط استقرار را اضافه کنید و روی0.119.0
تنظیم کنید
- دستور Build را روی
- استقرار!
برای جزئیات بیشتر Hugo را در Netlify بررسی کنید.
Vercel
- کد خود را به مخزن Git خود (گیتهاب، گیتلب و غیره) ارسال کنید.
- به پیشخوان Vercel بروید و پروژه Hugo خود را وارد کنید
- پروژه را پیکربندی کنید، Hugo را به عنوان چارچوب Preset انتخاب کنید
- دستور Build و Install را لغو کنید:
- دستور Build را روی
hugo --gc --minify
تنظیم کنید - دستور Install را روی
yum install golang
تنظیم کنید
- دستور Build را روی