사용자 지정 워크플로 정보
사용자 지정 워크플로를 사용하면 GitHub Actions을(를) 사용하여 GitHub Pages 사이트를 빌드할 수 있습니다. 워크플로 파일을 통해 사용하려는 분기를 계속 선택할 수 있지만, 사용자 지정 워크플로를 사용하면 훨씬 더 많은 작업을 수행할 수 있습니다. 사용자 지정 워크플로 사용을 시작하려면 먼저 현재 리포지토리에 대해 활성화해야 합니다. 자세한 내용은 "GitHub Pages 사이트에 대한 게시 원본 구성"을 참조하세요.
configure-pages
작업 구성
GitHub Actions은(는) 웹 사이트에 대한 다른 메타데이터도 수집할 수 있는 configure-pages
작업을 통해 GitHub Pages을(를) 사용할 수 설정합니다. 자세한 내용은 configure-pages
작업을 참조하세요.
작업을 사용하려면 이 조각을 원하는 워크플로에 있는 jobs
의 아래에 배치합니다.
- name: Configure GitHub Pages
uses: actions/configure-pages@v3
이 작업은 고정적인 사이트 생성기에서 GitHub Pages(으)로의 배포를 지원하는 데 도움이 됩니다. 이 프로세스를 덜 반복적으로 만들려면 가장 널리 사용되는 일부 고정적인 사이트 생성기에 스타터 워크플로를 사용할 수 있습니다. 자세한 내용은 "시작 워크플로 사용"을 참조하세요.
upload-pages-artifact
작업 구성
이 upload-pages-artifact
작업을 통해 아티팩트를 패키징하고 업로드할 수 있습니다. GitHub Pages 아티팩트는 단일 tar
파일을 포함하는 압축된 gzip
보관 파일이어야 합니다. tar
파일 크기는 10GB 미만이어야 하며 기호 또는 하드 링크는 포함하지 않아야 합니다. 자세한 내용은 upload-pages-artifact
작업을 참조하세요.
현재 워크플로에서 작업을 사용하려면 이 조각을 jobs
아래에 배치하세요.
- name: Upload GitHub Pages artifact
uses: actions/upload-pages-artifact@v1
GitHub Pages 아티팩트 배포
이 deploy-pages
작업은 아티팩트 배포에 필요한 설정을 처리합니다. 적절한 기능을 보장하려면 다음 요구 사항을 충족해야 합니다.
- 작업에는 최소한
pages: write
및id-token: write
권한이 있어야 합니다. needs
매개 변수는 빌드 단계의id
(으)로 설정해야 합니다. 이 매개 변수를 설정하지 않으면 생성되지 않은 아티팩트를 지속적으로 검색하는 독립적인 배포로 이어질 수 있습니다.environment
은(는) 분기/배포 보호 규칙을 적용하려면 반드시 설정해야 합니다. 기본 환경은github-pages
입니다.- 페이지의 URL을 출력으로 지정하려면
url:
필드를 활용합니다.
자세한 내용은 deploy-pages
작업을 참조하세요.
...
jobs:
deploy:
permissions:
contents: read
pages: write
id-token: write
runs-on: ubuntu-latest
needs: jekyll-build
environment:
name: github-pages
url: ${{steps.deployment.outputs.page_url}}
steps:
- name: Deploy artifact
id: deployment
uses: actions/deploy-pages@v1
...
별도의 빌드 및 배포 작업 연결
단일 워크플로 파일에서 사용자 build
및 deploy
작업을 연결할 수 있으므로 동일한 결과를 얻기 위해 두 개의 파일을 별도로 만들지 않아도 됩니다. 워크플로 파일을 시작하려면 jobs
아래에서 build
을(를) 정의하고 귀하의 작업에 대한 deploy
작업을 실행할 수 있습니다.
...
jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Pages
id: pages
uses: actions/configure-pages@v3
- name: Build with Jekyll
uses: actions/jekyll-build-pages@v1
with:
source: ./
destination: ./_site
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
# 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
...
빌드 프로세스가 필요하지 않은 특정한 경우에는 모든 항목을 단일 작업으로 결합하도록 선택할 수 있습니다. 결과적으로, 배포 단계에만 집중하게 됩니다.
...
jobs:
# Single deploy job no building
deploy:
environment:
name: github-pages
url: ${{steps.deployment.outputs.page_url}}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Pages
uses: actions/configure-pages@v3
- name: Upload Artifact
uses: actions/upload-pages-artifact@v2
with:
# upload entire directory
path: '.'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
...
다른 실행기에서 순차적으로 또는 병렬로 실행되도록 작업을 정의할 수 있습니다. 자세한 내용은 "작업 사용"을 참조하세요.