GitLab 페이지 웹 사이트 만들기
CI/CD 템플릿을 사용하여 페이지 웹 사이트 만들기
페이지 사이트를 추가할 기존 프로젝트가 있는 경우 .gitlab-ci.yml 템플릿 사용
해당 GitLab 리포지토리는 SSG(정적 사이트 생성기-Static Site Generators) 또는 일반 HTML에 해당하는 파일을 포함해야 하며, 이 단계를 완료한 후 페이지 사이트가 올바르게 생성되도록 추가 구성을 수행해야 할 수 있다.
왼쪽 사이드바 > Project overview 클릭
Set up CI/CD 클릭
이 버튼이 없는 경우, CI/CD가 프로젝트에 대해 이미 구성되어 있는 것이다. 리포지토리에서 .gitlab-ci.yml 파일을 찾아 수정한다.Apply a template 목록에서 사용 중인 SSG에 대한 템플릿을 선택. 평범한 HTML 선택 가능
사용중인 템플릿을 찾을 수 없으면 GitLab Pages 그룹 샘플 프로젝트를 볼 수 있다. 이러한 프로젝트에는 필요에 따라 수정할 수 있는 .gitlab-ci.yml 파일이 포함되어 있다. 또한 GitLab 페이지용 .gitlab-ci.yml 파일을 직접 작성하는 방법도 배울 수 있다..gitlab-ci.yml 파일을 저장하고 커밋
모든 것이 올바르게 구성되면, 이 사이트를 구축하는 데 약 30분 정도 소요 된다.
CI / CD > Pipelines 에서 파이프라인이 돌아가는 것을 볼 수 있으며, 파이프라인이 완료되면 Settings > Pages로 이동하여 페이지 웹 사이트에 대한 링크를 찾을 수 있다.
새 프로젝트 템플릿에서 페이지 웹 사이트 만들기
GitLab Pages를 테스트하거나 이미 Pages 사이트를 생성하도록 구성된 새 프로젝트를 시작하려는 경우 프로젝트 템플릿을 사용
상단 내비게이션 바에서 + 버튼 > New project 선택
Create from Template 선택
Pages 로 시작하는 템플릿 중 하나 선택 > Use template 클릭
양식을 작성한 후 Create project 클릭
왼쪽 사이드바 > CI/CD > Pipelines > Run pipeline 클릭하여 GitLab CI/CD를 트리거하여 사이트를 구축하고 배포
이 사이트를 구축하는 데 약 30분이 걸릴 수 있다. 파이프라인이 완료되면, Settings > Pages로 이동하여 페이지 웹 사이트에 대한 링크를 찾을 수 있다.
포크한 샘플에서 페이지 웹 사이트 만들기
GitLab은 가장 인기 있는 정적 사이트 생성기를 위한 샘플 프로젝트를 제공한다. 샘플 프로젝트 중 하나를 포크하고 CI/CD 파이프라인을 실행하여 페이지 웹 사이트를 생성할 수 있다.
GitLab 페이지 예제 그룹으로 이동하여 샘플 프로젝트를 확인
포크를 적용할 프로젝트 이름 클릭
우측 상단 Fork 버튼 클릭하여 포크로 이동할 네임스페이스 선택
왼쪽 사이드바 > CI/CD > Pipelines > Run pipeline 클릭하여 GitLab CI/CD를 트리거하여 사이트를 구축하고 배포
이 사이트를 구축하는 데 약 30분이 걸릴 수 있다. 파이프라인이 완료되면, Settings > Pages로 이동하여 페이지 웹 사이트에 대한 링크를 찾을 수 있다.
리포지토리에 푸시되는 모든 변경에 대해 GitLab CI/CD는 변경사항을 페이지 사이트에 즉시 게시하는 새 파이프라인을 실행한다.
추가 단계 수행:
포크 관계 제거
Settings > General > Advanced settings > Remove fork relationship 클릭
네임스페이스와 일치하도록 URL 변경
Settings > General > Advanced settings > Change path > <namespace>.gitlab.io로 변경
SSG의 구성 파일로 이동하여 기본 URL을 "프로젝트 이름"에서 ""로 변경. 프로젝트 이름 설정은 SSG에 따라 다르며 구성 파일에 없을 수 있다.
GitLab 페이지 웹 사이트 업데이트
GitLab 페이지 도메인 이름, URL 및 baseurl
GitLab 페이지 기본 도메인 이름
GitLab.com에 페이지 프로젝트를 설정하면 namespace.example.io의 하위 도메인에서 자동으로 접속할 수 있다. 네임스페이스는 GitLab.com의 사용자 이름 또는 이 프로젝트를 만든 그룹 이름으로 정의된다. GitLab 자체 관리 인스턴스의 경우 example.io을 인스턴스의 페이지 도메인으로 변경해야 한다. GitLab.com의 경우 페이지 도메인은 *.gitlab.io이다.
GitLab 페이지 유형 | GitLab에서 생성된 프로젝트 이름 | 웹 사이트 URL |
---|---|---|
사용자 페이지 | username.example.io | http(s)://username.example.io |
그룹 페이지 | groupname.example.io | http(s)://groupname.example.io |
사용자가 소유한 프로젝트 페이지 | projectname | http(s)://username.example.io/projectname |
그룹이 소유한 프로젝트 페이지 | projectname | http(s)://groupname.example.io/projectname |
하위그룹이 소유한 프로젝트 페이지 | subgroup/projectname | http(s)://groupname.example.io/subgroup/projectname |
GitLab에는 일반 도메인 이름 및 HTTPS로 제공되는 네임스페이스와 관련하여 제한 사항이 있다. 해당 섹션을 참조하여 작업 진행 하여야 한다.
프로젝트 웹 사이트 예제
사용자 john이 blog라는 프로젝트를 만들었을 경우 - URL : https://gitlab.com/john/blog/
websites라고 하는 모든 웹 사이트에 대한 그룹을 만들었고, 이 그룹 내의 프로젝트를 blog라고 부른다 - URL : https://gitlab.com/websites/blog/
엔지니어링 부서에 대한 engineering 그룹을 만들고 docs라는 모든 문서 웹 사이트에 대한 하위 그룹을 만들었으며, 이 하위 그룹 내의 프로젝트를 workflows라고 부른다. - URL : https://gitlab.com/engineering/docs/workflows/
Add Comment