Github proporciona alojamiento estático rápido y gratuito para usuarios, proyectos u organizaciones a través de su servicio Github Pages , mientras utiliza Github Actions para automatizar los flujos de trabajo y las compilaciones de desarrollo.
1. Crea un almacén de Github
La visibilidad es pública.
Nombrado como username.github.io
, nombre de usuario es su nombre de usuario de Github.
2. Agregar almacén remoto
Antes de agregar el tema, hemos git init
inicializado el proyecto del sitio web de Hugo con .
Ahora lo asociamos con el almacén remoto que acabamos de crear username.github.io
.
git remote add origin https://github.com/Shadow-Kylin//Shadow-Kylin.github.io.git
3. Cree un sitio web
hugo
4. Empuje a github
git chekcout -m master main
git add .
git commit -m "init commit"
git push origin main
5. Modificar páginas
6. Cree un archivo vacío en el almacén local.
mkdir -p .github/workflows
touch .github/workflows/hugo.yaml
Copie el contenido a continuación al que acaba de crear hugo.yaml
.
# 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.115.4
steps:
- name: Install Hugo CLI
run: |
wget -O ${
{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
&& sudo dpkg -i ${
{ runner.temp }}/hugo.deb
- name: Install Dart Sass
run: sudo snap install dart-sass
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
fetch-depth: 0
- name: Setup Pages
id: pages
uses: actions/configure-pages@v3
- name: Install Node.js dependencies
run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
- name: Build with Hugo
env:
# For maximum backward compatibility with Hugo modules
HUGO_ENVIRONMENT: production
HUGO_ENV: production
run: |
hugo \
--gc \
--minify \
--baseURL "${
{ steps.pages.outputs.base_url }}/"
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
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
Solo necesitamos modificar el nombre de la rama y la versión de Hugo.
7. Enviar revisiones
git add .
git commit -m "Add workflow"
git push origin main
8. Verifique el estado de implementación
Después de eso, cada vez que envíe cambios desde su repositorio local, GitHub reconstruirá su sitio e implementará los cambios.
Bienvenido al blog Hugo de Yinglin .