{"meta":{"title":"GitHub Pages에서 사용자 지정 워크플로 사용","intro":"워크플로 파일을 만들거나 미리 정의된 워크플로에서 선택하여 GitHub Actions 및 GitHub Pages를 활용할 수 있습니다.","product":"GitHub Pages","breadcrumbs":[{"href":"/ko/pages","title":"GitHub Pages"},{"href":"/ko/pages/getting-started-with-github-pages","title":"시작하기"},{"href":"/ko/pages/getting-started-with-github-pages/using-custom-workflows-with-github-pages","title":"워크플로 사용자 지정 사용"}],"documentType":"article"},"body":"# GitHub Pages에서 사용자 지정 워크플로 사용\n\n워크플로 파일을 만들거나 미리 정의된 워크플로에서 선택하여 GitHub Actions 및 GitHub Pages를 활용할 수 있습니다.\n\n## 사용자 지정 워크플로 정보\n\n사용자 지정 워크플로를 사용하면 GitHub Pages을 통해 GitHub Actions 사이트를 구축할 수 있습니다. 워크플로 파일을 통해 사용하려는 분기를 계속 선택할 수 있지만, 사용자 지정 워크플로를 사용하면 훨씬 더 많은 작업을 수행할 수 있습니다. 사용자 지정 워크플로 사용을 시작하려면 먼저 현재 리포지토리에 대해 활성화해야 합니다. 자세한 내용은 [GitHub Pages 사이트의 게시 소스 구성](/ko/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#publishing-with-a-custom-github-actions-workflow)을(를) 참조하세요.\n\n## `configure-pages` 작업 구성\n\nGitHub Actions를 사용하면 GitHub Pages 작업을 통해 `configure-pages`를 사용할 수 있으며, 이 작업으로 웹사이트에 대한 다양한 메타데이터도 수집할 수 있습니다. 자세한 내용은 [`configure-pages`](https://github.com/marketplace/actions/configure-github-pages) 작업을 참조하세요.\n\n작업을 사용하려면 이 조각을 원하는 워크플로에 있는 `jobs`의 아래에 배치합니다.\n\n```yaml\n- name: Configure GitHub Pages\n  uses: actions/configure-pages@v5\n```\n\n이 작업은 어떤 정적 사이트 생성기에서든 GitHub Pages로 배포할 수 있도록 지원하는 데 도움이 됩니다. 이 프로세스를 덜 반복적으로 만들려면 가장 널리 사용되는 일부 고정적인 사이트 생성기에 워크플로 템플릿을 사용할 수 있습니다. 자세한 내용은 [워크플로 템플릿 사용](/ko/actions/how-tos/write-workflows/use-workflow-templates)을(를) 참조하세요.\n\n## `upload-pages-artifact` 작업 구성\n\n이 `upload-pages-artifact` 작업을 통해 아티팩트를 패키징하고 업로드할 수 있습니다.\nGitHub Pages 아티팩트는 단일 `gzip` 파일이 포함된 압축된 `tar` 아카이브여야 합니다.\n`tar` 파일 크기는 10GB 미만이어야 하며 기호 또는 하드 링크는 포함하지 않아야 합니다. 자세한 내용은 [`upload-pages-artifact`](https://github.com/marketplace/actions/upload-github-pages-artifact) 작업을 참조하세요.\n\n현재 워크플로에서 작업을 사용하려면 이 조각을 `jobs` 아래에 배치하세요.\n\n```yaml\n- name: Upload GitHub Pages artifact\n  uses: actions/upload-pages-artifact@v4\n```\n\n## GitHub Pages 아티팩트 배포하기\n\n이 `deploy-pages` 작업은 아티팩트 배포에 필요한 설정을 처리합니다. 적절한 기능을 보장하려면 다음 요구 사항을 충족해야 합니다.\n\n* 작업에는 최소한 `pages: write` 및 `id-token: write` 권한이 있어야 합니다.\n* `needs` 매개 변수는 빌드 단계의 `id`(으)로 설정해야 합니다. 이 매개 변수를 설정하지 않으면 생성되지 않은 아티팩트를 지속적으로 검색하는 독립적인 배포로 이어질 수 있습니다.\n* `environment`은(는) 분기/배포 보호 규칙을 적용하려면 반드시 설정해야 합니다. 기본 환경은 `github-pages`입니다.\n* 페이지의 URL을 출력으로 지정하려면 `url:` 필드를 활용합니다.\n\n자세한 내용은 [`deploy-pages`](https://github.com/marketplace/actions/deploy-github-pages-site) 작업을 참조하세요.\n\n```yaml\n# ...\n\njobs:\n  deploy:\n    permissions:\n      contents: read\n      pages: write\n      id-token: write\n    runs-on: ubuntu-latest\n    needs: jekyll-build\n    environment:\n      name: github-pages\n      url: ${{steps.deployment.outputs.page_url}}\n    steps:\n      - name: Deploy artifact\n        id: deployment\n        uses: actions/deploy-pages@v4\n# ...\n```\n\n## 별도의 빌드 및 배포 작업 연결\n\n단일 워크플로 파일에서 사용자 `build` 및 `deploy` 작업을 연결할 수 있으므로 동일한 결과를 얻기 위해 두 개의 파일을 별도로 만들지 않아도 됩니다. 워크플로 파일을 시작하려면 `jobs` 아래에서 `build`을(를) 정의하고 귀하의 작업에 대한 `deploy` 작업을 실행할 수 있습니다.\n\n```yaml\n# ...\n\njobs:\n  # Build job\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v6\n      - name: Setup Pages\n        id: pages\n        uses: actions/configure-pages@v5\n      - name: Build with Jekyll\n        uses: actions/jekyll-build-pages@v1\n        with:\n          source: ./\n          destination: ./_site\n      - name: Upload artifact\n        uses: actions/upload-pages-artifact@v4\n\n  # Deployment job\n  deploy:\n    environment:\n      name: github-pages\n      url: ${{steps.deployment.outputs.page_url}}\n    runs-on: ubuntu-latest\n    needs: build\n    steps:\n      - name: Deploy to GitHub Pages\n        id: deployment\n        uses: actions/deploy-pages@v4\n# ...\n```\n\n빌드 프로세스가 필요하지 않은 특정한 경우에는 모든 항목을 단일 작업으로 결합하도록 선택할 수 있습니다. 결과적으로, 배포 단계에만 집중하게 됩니다.\n\n```yaml\n# ...\n\njobs:\n  # Single deploy job no building\n  deploy:\n    environment:\n      name: github-pages\n      url: ${{steps.deployment.outputs.page_url}}\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v6\n      - name: Setup Pages\n        uses: actions/configure-pages@v5\n      - name: Upload Artifact\n        uses: actions/upload-pages-artifact@v4\n        with:\n          # upload entire directory\n          path: '.'\n      - name: Deploy to GitHub Pages\n        id: deployment\n        uses: actions/deploy-pages@v4\n\n# ...\n```\n\n다른 실행기에서 순차적으로 또는 병렬로 실행되도록 작업을 정의할 수 있습니다. 자세한 내용은 [워크플로에서 수행하는 작업 선택](/ko/actions/how-tos/write-workflows/choose-what-workflows-do)을(를) 참조하세요."}