GitLab Pages에서 자체 도메인의 SSL 사이트 게시(Let's Encrypt + 인증서 자동 업데이트)

4709 단어 gitlab-pagesGitLab
한숨이 나올수록 간단

GitHub Pages와 GitLab Pages의 차이점



GitHub Pages와 GitLab Pages와 비슷하지만 사실은 조금 다릅니다.
GitHub Pages는 리포지토리 자체를 웹 사이트로 게시합니다.
따라서 기본적으로 정적 웹 사이트를 게시하는 것이 좋습니다. Hugo와 같은 정적 사이트 생성기를 사용하는 경우 컴파일 된 결과를 커밋합니다. 1
반면 GitLab Pages는 CI에서 빌드한 결과를 리포지토리에 커밋하는 대신 빌드 아티팩트를 정적 웹 사이트로 게시합니다.

이것만 봐서 별로 우열은 없다고 생각합니다만, 빌드 아티팩트가 리포지토리에 커밋되는 것에는 좋아하고 싫다는 생각은 합니다.

GitLab Pages 만들기



gitlab.io 도메인에서 사이트 만들기



리포지토리 생성



Pages를 작성하기 위해 Pages용 리포지토리를 작성하십시오.

새로운 프로젝트 에서 Create from template 를 선택합니다.


템플릿으로 몇 가지 정적 사이트 생성기와 플레인 HTML 템플릿이 공개되어 있으므로 좋아하는 것을 선택합니다.
이번에는 Hugo를 선택합니다.
리포지토리 이름은 username.gitlab.io로 작성됩니다.

Hugo 설정



리포지토리의 config.toml에서 baseUrlhttps://username.gitlab.io로 다시 씁니다.
파일을 선택하면 GitLab에서 직접 편집할 수 있습니다.

Pipeline 실행



위의 config.toml를 편집하면 Pipeline이 자동으로 실행됩니다.



초기 페이지가 빌드되고 username.gitlab.io 에 Hugo를 빌드한 초기 페이지가 표시될까 생각합니다.
(빌드가 완료된 후 반영까지 몇 분이 걸립니다)



이것으로 GitLab Pages 공개 자체가 종료됩니다.
나중에 일반 Hugo와 마찬가지로 블로그 기사를 커밋하면 다시 GitLab CI에 의해 페이지가 빌드되어 게시됩니다.

고유 도메인화



설정



GitLab Pages도 GitHub Pages와 마찬가지로 독자 도메인을 사용할 수 있으므로 설정해 갑니다.
설정 -> 페이지 -> 새 도메인 로 이동하여 구성하려는 자신의 도메인을 입력합니다.Automatic certificate management using 에도 체크를 합시다. Let's Encrypt 를 사용하여 자동으로 SSL 인증서 관리 2 도 제공합니다.



도메인을 추가하면 실제로 해당 도메인의 소유자인지 확인하기 위해 인증해야 합니다.



먼저 자신의 도메인을 username.gitlab.io에 연결하기 위해 CNAME을 설정합니다.
이번에는 www를 할당하고 있습니다.
(이미지는 Google Domains 설정 화면)


인증



그런 다음 GitLab Pages 설정 화면의 Verification Status에서 인증합니다.
마찬가지로 사용자 지정 리소스 레코드에 TXT 레코드를 추가하고 데이터 필드에 인증 코드를 설정합니다.



설정을 마치면 GitLab Pages 설정 페이지의 인증을 다시 시도해 봅시다.



이와 같이, Veryfied 가 되면 인증 OK입니다.



확인



지금까지 설정을 마치면 도메인에 액세스해 봅시다.
DNS 설정이 침투하는 데 약간의 시간이 걸릴 수 있지만 문제가 없으면 Hugo의 콘텐츠가 표시됩니다.
또한 내가 시도했을 때 인증서가 *.gitlab.io 인 것이 떨어지고 인증서 오류가 발생했습니다.
이쪽도 1시간 정도 지나고 다시 액세스했는데, 제대로 독자 도메인의 증명서가 떨어지게 되었습니다.



【2018년판】Hugo와 github pages로 블로그 만드는 방법 【Circle CI도 돌립니다】 

진짜는 좀 더 절차가 있을까라고 생각해 기사를 쓰기 시작했는데, 이 체크 박스에 체크를 넣는 것만이었다니…

좋은 웹페이지 즐겨찾기