GitHub 페이지에 Astro 사이트를 배포하는 방법
https://YOUR_USER_NAME.github.io/
와 같은 기본 도메인 이름과 함께 제공되지만 사용자 정의 도메인을 지원합니다. GitHub의 팀은 몇 가지 시작 워크플로를 제공하므로 처음부터 작성할 필요가 없으며 다른 프레임워크에서 배포를 지원하는 예제로 사용할 수 있습니다. 현재 Next.js, Nuxt.js, Gatsby, Hugo, Jekyll 및 HTML용starter workflows이 있습니다.
Astro로 구축된 정적 사이트 또는 GitHub Pages에서 선택한 워크플로를 호스팅하는 방법을 알아보겠습니다!
GitHub 페이지에 사이트를 게시하려면 리포지토리가 공개되어야 합니다.
선택한 프레임워크 또는 정적 생성기를 사용하여 코드를 작성하고 리포지토리에 저장한 후 해당 리포지토리의 설정 탭으로 이동합니다.
왼쪽 사이드바에서 페이지를 클릭합니다.
빌드 및 배포에서 GitHub 작업을 선택합니다.
프로젝트의 루트에
.github/workflows
라는 폴더를 만듭니다..github/workflows
폴더 내에서 지정된 프레임워크를 GitHub 페이지에 배포하는 사용자 지정 워크플로를 만듭니다(아래 섹션의 예 참조).Astro의 워크플로우 예
name: Deploy Astro to GitHub Pages
on:
# Trigger the workflow every time you push to the `main` branch
push:
branches: [ main ]
# Allows you to run this workflow manually from the Actions tab on GitHub.
workflow_dispatch:
# Allow this job to clone the repo and create a page deployment
permissions:
contents: read
pages: write
id-token: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out your repository using git
uses: actions/checkout@v2
- name: Use Node.js 16
uses: actions/setup-node@v2
with:
node-version: '16'
cache: 'npm'
# Not using npm? Change `npm ci` to `yarn install` or `pnpm i`
- name: Install dependencies
run: npm ci
# Not using npm? Change `npm run build` to `yarn build` or `pnpm run build`
- name: Build Astro
run: npm run build --if-present
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
with:
path: ./dist
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@v1
React의 워크플로 예
name: Deploy to React GitHub Pages
on:
# Trigger the workflow every time you push to the `main` branch
push:
branches: [ main ]
# Allows you to run this workflow manually from the Actions tab on GitHub.
workflow_dispatch:
# Allow this job to clone the repo and create a page deployment
permissions:
contents: read
pages: write
id-token: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out your repository using git
uses: actions/checkout@v2
- name: Use Node.js 16
uses: actions/setup-node@v2
with:
node-version: '16'
cache: 'npm'
# Not using npm? Change `npm ci` to `yarn install` or `pnpm i`
- name: Install dependencies
run: npm ci
# Not using npm? Change `npm run build` to `yarn build` or `pnpm run build`
- name: Build React
run: npm run build --if-present
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
with:
path: ./build
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@v1
선택한 정적 생성기에 대한 예제 템플릿
name: Deploy to “your frameworks” GitHub Pages
on:
# Trigger the workflow every time you push to the `main` branch
push:
branches: [ main ]
# Allows you to run this workflow manually from the Actions tab on GitHub.
workflow_dispatch:
# Allow this job to clone the repo and create a page deployment
permissions:
contents: read
pages: write
id-token: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out your repository using git
uses: actions/checkout@v2
- name: Use “REPLACE WITH THE RUNTIME OF YOUR CHOICE”
uses: “REPLACE WITH THE ACTION THAT SETS UP THE RUN TIME OF YOUR CHOICE”
# Not using npm? Change `npm ci` to `yarn install` or `pnpm i`
- name: Install dependencies
run: “REPLACE WITH COMMANDS TO INSTALL DEPENDENCIES”
# Not using npm? Change `npm run build` to `yarn build` or `pnpm run build`
- name: Build “YOUR STATIC GENERATOR HERE”
run: “REPLACE WITH YOUR BUILD COMMAND”
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
with:
path: “REPLACE WITH YOUR BUILD OUTPUT FOLDER”
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@v1
몇 초 안에 작업이 실행되기 시작합니다. 성공하면 URL을 생성하고 정적 사이트를 GitHub 페이지에 배포합니다.
URL
yourusername.github.io/your_repo_name
로 이동하여 라이브 웹사이트를 확인하세요!Gotchas: 자산 경로 처리
GitHub Pages에 내 사이트를 처음 게시했을 때 사이트를 로컬에서 호스팅할 때 이미지나 PDF가 있는데도 이미지나 PDF를 볼 수 없다는 사실에 혼란스럽고 놀랐습니다. 이것은 GitHub Pages가 경로를 다르게 처리하기 때문에 발생했습니다.
예를 들어 이 상대 경로에 PDF가 있는 경우:
assets/pdfs/menu-food.pdf
GitHub 페이지에서 호스팅되면 새 경로를 {“REPOSITORY NAME”}/assets/pdfs/menu-food.pdf
로 업데이트합니다.예시
다음은 이 방법을 사용하여 구축한 예제 저장소입니다.
블랙걸바이트 / blackgyalbites-astro
GitHub 페이지에서 호스팅되는 노터치 레스토랑 메뉴 템플릿
흑갈 물린
GitHub 페이지의 모든 프레임워크로 구축된 노터치 메뉴 및 호스트 정적 페이지용 템플릿
사용자가 QR 코드를 스캔하면 레스토랑 메뉴를 표시하기 위해 Astro로 구축된 웹사이트입니다.
GitHub 페이지 제공
이것은 개발자가 모든 프레임워크를 사용하여 정적 웹 사이트를 구축하고 호스팅할 수 있음을 보여주는 데모입니다.
GitHub 페이지에서 호스팅되는 더 많은 예제 프레임워크 보기:
라이브 사이트 링크: https://blackgirlbytes.github.io/blackgyalbites-astro/
설계 및 개발
모든 디자인과 요소는 오픈 소스이며 누구나 무료로 사용할 수 있습니다.
소유: Rizel Scarlett(@blackgirlbytes)
설계자 The Holistic Technologist
삽화 Cuoc Doi Prints
어떤 목적으로든 자유롭게 포크, 복사, 조정 및 사용할 수 있습니다. 이 프로젝트는 완전히 오픈 소스이며 MIT license 아래에 있습니다.
메뉴 디자인 템플릿: Canva
자산 및 디자인 요소 다운로드: Google Drive
View on GitHub
더 알아보기
맞춤형 워크플로를 사용하여 GitHub 페이지에 정적 사이트 생성기를 배포하는 방법을 보여주는 Kedasha의 멋진 YouTube 단편을 시청하세요!
GitHub Pages에 배포할 새로운 사용자 지정 워크플로에 대한 귀하의 의견을 듣고 싶습니다. 아래에 댓글을 달아주세요! 이와 같은 더 많은 콘텐츠를 보려면 DEV를 팔로우하세요!
Reference
이 문제에 관하여(GitHub 페이지에 Astro 사이트를 배포하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/github/how-to-deploy-a-static-site-in-any-framework-of-your-choice-github-pages-neh텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)