GitHub Pages 정보
GitHub Pages는 GitHub Enterprise Server의 리포지토리에서 HTML, CSS 및 JavaScript 파일을 직접 가져와서 필요에 따라 빌드 프로세스를 통해 파일을 실행하고 웹 사이트를 게시하는 정적 사이트 호스팅 서비스입니다. GitHub Pages 사이트의 예는 GitHub Pages 예제 컬렉션에서 확인할 수 있습니다.
시작하려면 "GitHub Pages 사이트 만들기"을(를) 참조하세요.
조직 소유자는 조직의 리포지토리에서 GitHub Pages 사이트의 게시를 사용하지 않도록 설정할 수 있습니다. 자세한 내용은 "조직의 GitHub Pages 사이트 게시 관리"을(를) 참조하세요.
GitHub Pages 사이트 유형
GitHub Pages 사이트에는 프로젝트, 사용자 및 조직, 이렇게 세 가지 유형이 있습니다. 프로젝트 사이트는 JavaScript 라이브러리 또는 레시피 컬렉션과 같이 GitHub Enterprise Server에서 호스트되는 특정 프로젝트에 연결됩니다. 사용자 및 조직 사이트는 GitHub Enterprise Server 인스턴스의 특정 계정에 연결됩니다.
사용자 사이트를 게시하려면 <username>.<hostname>
이라는 개인 계정이 소유한 리포지토리를 만들어야 합니다. 조직 사이트를 게시하려면 <organization>.<hostname>
이라는 조직이 소유한 리포지토리를 만들어야 합니다.
프로젝트 사이트의 원본 파일은 프로젝트와 동일한 리포지토리에 저장됩니다.
GitHub Enterprise Server에서 각 계정에 대해 하나의 사용자 또는 조직 사이트만 만들 수 있습니다. 조직 또는 개인 계정이 소유하든 관계 없이 프로젝트 사이트는 무제한입니다.
사이트를 사용할 수 있는 URL은 GitHub Enterprise Server 인스턴스에 하위 도메인 격리를 사용할 수 있는지 여부에 따라 달라집니다.
사이트의 유형 | 하위 도메인 격리 사용 | 하위 도메인 격리 사용 안 함 |
---|---|---|
사용자 | http(s)://pages.<hostname>/<username> | http(s)://<hostname>/pages/<username> |
조직 | http(s)://pages.<hostname>/<organization> | http(s)://<hostname>/pages/<organization> |
개인 계정이 소유한 프로젝트 사이트 | http(s)://pages.<hostname>/<username>/<repository>/ | http(s)://<hostname>/pages/<username>/<repository>/ |
조직 계정이 소유한 프로젝트 사이트 | http(s)://pages.<hostname>/<orgname>/<repository>/ | http(s)://<hostname>/pages/<orgname>/<repository>/ |
자세한 내용은 "하위 도메인 격리 사용"을(를) 참조하거나 사이트 관리자에게 문의하세요.
GitHub Pages 사이트에 대한 원본 게시
경고: 사이트 관리자가 퍼블릭 페이지를 사용하도록 설정한 경우 사이트의 리포지토리가 프라이빗이거나 내부인 경우에도 GitHub Pages 사이트를 인터넷에서 공개적으로 사용할 수 있습니다. 사이트의 리포지토리에 중요한 데이터가 있는 경우 게시하기 전에 데이터를 제거할 수 있습니다. 자세한 내용은 "엔터프라이즈에 대한 GitHub 페이지 구성"과 "리포지토리 정보"을 참조하세요.
변경 내용이 특정 분기로 푸시될 때 사이트를 게시하거나 GitHub Actions 워크플로를 작성하여 사이트를 게시할 수 있습니다. GitHub Actions을(를) GitHub Pages의 게시용 원본으로 사용하려면 사이트 관리자가 GitHub Enterprise Server 인스턴스에 대해 GitHub Actions을(를) 사용하도록 설정해야 합니다. 자세한 내용은 "GitHub Enterprise Server에 GitHub Actions 사용"을 참조하세요.
사이트의 빌드 프로세스를 제어할 필요가 없는 경우 변경 내용이 특정 분기로 푸시될 때 사이트를 게시하는 것이 좋습니다. 게시 원본으로 사용할 분기 및 폴더를 지정할 수 있습니다. 원본 분기는 리포지토리의 모든 분기일 수 있으며 원본 폴더는 원본 분기에 있는 리포지토리(/
)의 루트이거나 원본 분기의 /docs
폴더일 수 있습니다. 변경 내용이 원본 분기로 푸시될 때마다 원본 폴더의 변경 내용이 GitHub Pages 사이트에 게시됩니다.
Jekyll 이외의 빌드 프로세스를 사용하거나 전용 분기에서 컴파일된 정적 파일을 보관하지 않으려면 GitHub Actions 워크플로를 작성하여 사이트를 게시하는 것이 좋습니다. GitHub Enterprise Server은(는) 워크플로를 작성하는 데 도움이 되는 일반적인 게시 시나리오를 위한 시작 워크플로를 제공합니다.
자세한 내용은 "GitHub Pages 사이트에 대한 게시 원본 구성"을(를) 참조하세요.
정적 사이트 생성기
GitHub Pages는 리포지토리에 푸시하는 정적 파일을 게시합니다. 사용자 고유의 정적 파일을 만들거나 정적 사이트 생성기를 사용하여 자동으로 사이트를 빌드할 수 있습니다. 로컬 또는 다른 서버에서 사용자 고유의 빌드 프로세스를 사용자 지정할 수도 있습니다.
사용자 지정 빌드 프로세스 또는 Jekyll 이외의 정적 사이트 생성기를 사용하는 경우 GitHub Actions을(를) 작성하여 사이트를 빌드하고 게시할 수 있습니다. GitHub Enterprise Server은(는) 여러 정적 사이트 생성기에 대한 시작 워크플로를 제공합니다. 자세한 내용은 "GitHub Pages 사이트에 대한 게시 원본 구성"을(를) 참조하세요.
원본 분기에서 사이트를 게시하는 경우 GitHub Pages은(는) Jekyll을 사용하여 기본적으로 사이트를 빌드합니다. Jekyll 이외의 정적 사이트 생성기를 사용하려면 GitHub Actions을(를) 작성하여 사이트를 빌드하고 게시하는 것이 좋습니다. 그렇지 않으면 게시 원본의 루트에서 .nojekyll
이라는 빈 파일을 만들어 Jekyll 빌드 프로세스를 사용하지 않도록 설정한 다음 정적 사이트 생성기의 지침에 따라 사이트를 로컬로 빌드합니다.
GitHub Pages에서는 PHP, Ruby 또는 Python과 같은 서버 쪽 언어를 지원하지 않습니다.
GitHub Pages의 사용 제한
GitHub Pages는 온라인 비즈니스, 전자 상거래 사이트 또는 상업적 거래를 촉진하거나 SaaS(Software as a Service)를 제공하는 데 주로 사용되는 다른 웹 사이트를 실행하기 위한 무료 웹 호스팅 서비스로 사용할 수 없습니다. GitHub Pages 사이트는 암호 또는 신용 카드 번호 전송과 같은 중요한 트랜잭션에 사용하면 안 됩니다.
또한 GitHub Pages의 사용에는 풍부한 구성표, 외설적인 콘텐츠, 폭력적이거나 위협적인 콘텐츠 또는 활동에 대한 제한을 포함하여 GitHub 서비스 약관이 적용됩니다.
교육 연습
GitHub Pages을(를) 사용하여 학습 연습으로 기존 웹 사이트의 복사본을 만드는 것은 금지되지 않습니다. 그러나 GitHub 서비스 약관을 준수하는 것 외에도 코드는 직접 작성해야 하고, 사이트에서 사용자 데이터를 수집해서는 안 되며, 프로젝트가 원본과 관련이 없으며 교육 목적으로만 만들어졌음을 나타내는 눈에 띄는 고지 사항을 사이트에 포함해야 합니다.
사용 제한
GitHub Pages 사이트에는 다음과 같은 사용 제한이 적용됩니다.
- GitHub Pages 소스 리포지토리의 권장 제한은 1GB입니다.
- 게시된 GitHub Pages 사이트는 1GB 이하일 수 있습니다.
- GitHub Pages 배포는 10분 이상 걸리는 경우 시간 초과됩니다.
GitHub Pages의 MIME 형식
MIME 형식은 서버가 브라우저로 보내는 헤더로, 브라우저에서 요청한 파일의 특성 및 형식에 대한 정보를 제공합니다. GitHub Pages는 수천 개의 파일 확장명 중 750개 이상의 MIME 형식을 지원합니다. 지원되는 MIME 형식 목록은 mime-db 프로젝트에서 생성됩니다.
파일별 또는 리포지토리별로 사용자 지정 MIME 형식을 지정할 수는 없지만 GitHub Pages에서 사용할 MIME 형식을 추가하거나 수정할 수 있습니다. 자세한 내용은 mime-db 기여 지침.
추가 참고 자료
- GitHub Skills의 GitHub Pages
- "리포지토리에 대한 REST API 엔드포인트"