Skip to main content

GitHub Pages 사이트에 대한 게시 원본 구성

변경 내용이 특정 분기로 푸시될 때 게시하도록 GitHub Pages 사이트를 구성하거나 GitHub Actions 워크플로를 작성하여 사이트를 게시할 수 있습니다.

누가 이 기능을 사용할 수 있나요?

People with admin or maintainer permissions for a repository can configure a publishing source for a GitHub Pages site.

GitHub Pages은(는) 조직의 GitHub Free 및 GitHub Free이(가) 있는 퍼블릭 리포지토리와 GitHub Pro, GitHub Team, GitHub Enterprise Cloud 및 GitHub Enterprise Server의 퍼블릭 및 프라이빗 리포지토리에서 사용할 수 있습니다. 자세한 내용은 “GitHub의 플랜”를 참조하세요.

GitHub Pages은(는) 이제 GitHub Actions을(를) 사용하여 Jekyll 빌드를 실행합니다. 빌드의 원본으로 분기를 사용하는 경우 기본 제공 Jekyll 워크플로를 사용하려면 리포지토리에서 GitHub Actions을(를) 사용하도록 설정해야 합니다. 또는 GitHub Actions을(를) 사용할 수 없거나 사용하지 않도록 설정한 경우 원본 분기의 루트에 .nojekyll 파일을 추가하면 Jekyll 빌드 프로세스를 무시하고 콘텐츠를 직접 배포합니다. GitHub Actions 사용에 대한 자세한 내용은 "리포지토리에 대한 GitHub Actions 설정 관리"을 참조하세요.

게시 원본 정보

변경 내용이 특정 분기로 푸시될 때 사이트를 게시하거나 GitHub Actions 워크플로를 작성하여 사이트를 게시할 수 있습니다.

사이트의 빌드 프로세스를 제어할 필요가 없는 경우 변경 내용이 특정 분기로 푸시될 때 사이트를 게시하는 것이 좋습니다. 게시 원본으로 사용할 분기 및 폴더를 지정할 수 있습니다. 원본 분기는 리포지토리의 모든 분기일 수 있으며 원본 폴더는 원본 분기에 있는 리포지토리(/)의 루트이거나 원본 분기의 /docs 폴더일 수 있습니다. 변경 내용이 원본 분기로 푸시될 때마다 원본 폴더의 변경 내용이 GitHub Pages 사이트에 게시됩니다.

Jekyll 이외의 빌드 프로세스를 사용하거나 전용 분기에서 컴파일된 정적 파일을 보관하지 않으려면 GitHub Actions 워크플로를 작성하여 사이트를 게시하는 것이 좋습니다. GitHub은(는) 워크플로 작성에 도움이 되는 일반적인 게시 시나리오에 대한 워크플로 템플릿을 제공합니다.

경고: 사이트의 리포지토리가 프라이빗인 경우에도 GitHub Pages 사이트는 인터넷에서 공개적으로 사용할 수 있습니다(해당 요금제 또는 조직에서 허용하는 경우). 사이트의 리포지토리에 중요한 데이터가 있는 경우 게시하기 전에 데이터를 제거할 수 있습니다. 자세한 내용은 "리포지토리 정보"을(를) 참조하세요.

분기에서 게시

  1. 게시 원본으로 사용할 분기가 리포지토리에 이미 있는지 확인합니다.

  2. GitHub에서 사이트의 리포지토리로 이동합니다.

  3. 리포지토리 이름 아래에서 Settings(설정)를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

    탭을 보여 주는 리포지토리 헤더의 스크린샷. "설정" 탭이 진한 주황색 윤곽선으로 강조 표시됩니다.

  4. 사이드바의 “코드 및 자동화” 섹션에서 페이지를 클릭합니다.

  5. "빌드 및 배포"의 "원본"에서 분기에서 배포를 선택합니다.

  6. "빌드 및 배포"에서 분기 드롭다운 메뉴를 사용하여 게시 원본을 선택합니다.

    GitHub 리포지토리의 페이지 설정 스크린샷. "없음"이라는 레이블이 있는 게시 원본에 대한 분기를 선택하는 메뉴가 진한 주황색으로 표시되어 있습니다.

  7. 필요에 따라 폴더 드롭다운 메뉴를 사용하여 게시 원본의 폴더를 선택합니다.

    GitHub 리포지토리의 페이지 설정 스크린샷. "/(root)"라는 레이블이 있는 게시 원본에 대한 폴더를 선택하는 메뉴가 진한 주황색 윤곽선으로 표시되어 있습니다.

  8. 저장을 클릭합니다.

분기에서 게시 문제 해결

Note: If your repository contains symbolic links, you will need to publish your site using a GitHub Actions workflow. For more information about GitHub Actions, see "GitHub Actions 설명서."

참고:

  • 분기에서 게시하는 경우 및 관리자 권한과 확인된 메일 주소를 가진 사람이 게시 원본으로 푸시되었는지 확인합니다.

  • GITHUB_TOKEN을 사용하는 GitHub Actions 워크플로에서 푸시한 커밋은 GitHub Pages 빌드를 트리거하지 않습니다.

분기의 docs 폴더를 게시 원본으로 선택하고 나중에 리포지토리의 해당 분기에서 /docs 폴더를 제거한 경우 사이트가 빌드되지 않으며 누락된 /docs 폴더에 대한 페이지 빌드 오류 메시지가 표시됩니다. 자세한 내용은 "GitHub 페이지 사이트에 대한 Jekyll 빌드 오류 문제 해결" 항목을 참조하세요.

다른 CI 도구를 사용하여 GitHub Pages 사이트를 빌드하도록 구성한 경우에도 GitHub Pages 사이트는 항상 GitHub Actions 워크플로 실행과 함께 배포됩니다. 대부분의 외부 CI 워크플로는 빌드 출력을 리포지토리의 gh-pages 분기에 커밋하여 GitHub Pages에 “배포”하며 일반적으로 .nojekyll 파일을 포함합니다. 이 경우 GitHub Actions 워크플로는 분기에 빌드 단계가 필요하지 않은 상태를 검색하고 사이트를 GitHub Pages 서버에 배포하는 데 필요한 단계만 실행합니다.

빌드 또는 배포에서 잠재적인 오류를 찾으려면 리포지토리의 워크플로 실행을 검토하여 GitHub Pages 사이트에 대한 워크플로 실행을 검사할 수 있습니다. 자세한 내용은 "워크플로 실행 기록 보기" 항목을 참조하세요. 오류가 발생할 경우 워크플로를 다시 실행하는 방법에 대한 자세한 내용은 “워크플로 및 작업 다시 실행” 항목을 참조하세요.

사용자 지정 GitHub Actions 워크플로를 사용하여 게시

GitHub Actions을(를) 사용하여 게시하도록 사이트를 구성하려면 다음을 수행합니다.

  1. GitHub에서 사이트의 리포지토리로 이동합니다.

  2. 리포지토리 이름 아래에서 Settings(설정)를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

    탭을 보여 주는 리포지토리 헤더의 스크린샷. "설정" 탭이 진한 주황색 윤곽선으로 강조 표시됩니다.

  3. 사이드바의 “코드 및 자동화” 섹션에서 페이지를 클릭합니다.

  4. "빌드 및 배포"의 "원본"에서 GitHub Actions 을(를) 선택합니다.

  5. GitHub은(는) 몇 가지 워크플로 템플릿을 제안합니다. 사이트를 게시할 워크플로가 이미 있는 경우 이 단계를 건너뛸 수 있습니다. 그렇지 않으면 GitHub Actions 워크플로를 만드는 옵션 중 하나를 선택합니다. 사용자 지정 워크플로를 만드는 방법에 대한 자세한 내용은 "사이트를 게시하는 사용자 지정 GitHub Actions 워크플로 만들기"를 참조하세요.

    GitHub Pages은(는) 특정 워크플로를 GitHub Pages 설정에 연결하지 않습니다. 그러나 GitHub Pages 설정은 가장 최근에 사이트를 배포한 워크플로 실행에 연결됩니다.

사용자 지정 GitHub Actions 워크플로를 만들어 사이트 게시

GitHub Actions에 대한 자세한 내용은 "GitHub Actions 설명서" 항목을 참조하세요.

GitHub Actions을(를) 사용하여 게시하도록 사이트를 구성할 때 GitHub은(는) 일반적인 게시 시나리오에 대한 워크플로 템플릿을 제안합니다. 워크플로의 일반적인 흐름은 다음과 같습니다.

  1. 리포지토리의 기본 분기에 푸시가 있거나 작업 탭에서 워크플로를 수동으로 실행할 때마다 트리거합니다.
  2. actions/checkout 작업을 사용하여 리포지토리 콘텐츠를 확인합니다.
  3. 사이트에서 필요한 경우 정적 사이트 파일을 빌드합니다.
  4. actions/upload-pages-artifact 작업을 사용하여 정적 파일을 아티팩트로 업로드합니다.
  5. 워크플로가 기본 분기로 푸시하여 트리거된 경우 actions/deploy-pages 작업을 사용하여 아티팩트를 배포합니다. 워크플로가 끌어오기 요청에 의해 트리거된 경우 이 단계를 건너뜁니다.

워크플로 템플릿은 이름이 github-pages인 배포 환경을 사용합니다. 리포지토리에 아직 github-pages라는 환경이 포함되어 있지 않으면 환경이 자동으로 만들어집니다. 기본 분기만 이 환경에 배포할 수 있도록 배포 보호 규칙을 추가하는 것이 좋습니다. 자세한 내용은 "배포 환경 관리" 항목을 참조하세요.

참고: 리포지토리 파일의 CNAME 파일은 사용자 지정 도메인을 자동으로 추가하거나 제거하지 않습니다. 대신 리포지토리 설정 또는 API를 통해 사용자 지정 도메인을 구성해야 합니다. 자세한 내용은 "GitHub Pages 사이트의 사용자 지정 도메인 관리" 및 "GitHub Pages에 대한 REST API 엔드포인트" 항목을 참조하세요.

사용자 지정 GitHub Actions 워크플로를 사용하여 게시 문제 해결

GitHub Actions 워크플로의 문제를 해결하는 방법에 대한 자세한 내용은 "워크플로 모니터링 및 문제 해결" 항목을 참조하세요.