문서 배포
배포 환경
GitLab 문서 사이트는 GitLab Pages에서 호스팅되는 정적 사이트입니다. 배포는 Pages 배포 작업을 통해 이루어집니다.
이 웹사이트는 현재 지원되는 GitLab 버전의 문서만 호스팅합니다. 이전 버전의 문서는 Docker 이미지로 빌드되어 GitLab Docs 아카이브에서 다운로드할 수 있도록 업로드됩니다.
출시 프로세스의 일부
문서 릴리즈 프로세스는 다음을 포함합니다:
-
main
및 관련 안정 브랜치에 변경사항을 적용하기 위한 병합 요청. - 관련 안정 브랜치에 Docker 이미지를 빌드하고 배포하기 위한 파이프라인.
- 안정 버전 및 최신 문서를 포함하여 모든 온라인 문서를 빌드하고 배포하는 데 사용되는 Docker 이미지.
문서 배포는 다음과 같은 파이프라인과 Docker 이미지에 의존합니다:
- 최신 문서 파이프라인 및 이미지는 안정 문서 파이프라인 및 이미지에 의존합니다.
- Pages 배포 파이프라인은 최신 문서 이미지에 의존합니다(이 또한 안정 파이프라인 및 이미지에 의존함).
CI/CD 파이프라인에서 Docker를 사용하는 방법에 대한 일반적인 정보는 Docker 통합을 참조하세요.
안정 브랜치
문서 프로젝트의 안정 브랜치에 대한 파이프라인은 포함된 프로젝트의 관련 안정 브랜치를 가져옵니다. 예를 들어, 안정 버전 14.4
의 문서는 gitlab-docs
프로젝트의 14.4
브랜치에서 빌드되며, 다음을 포함합니다:
-
gitlab
프로젝트의14-4-stable-ee
브랜치. -
gitlab-runner
프로젝트의14-4-stable
브랜치. -
omnibus-gitlab
프로젝트의14-4-stable
브랜치. -
charts/gitlab
프로젝트의5-4-stable
브랜치.charts/gitlab
버전은 GitLab 버전과 매핑됩니다.
기술 작문 팀은
안정 브랜치 생성
을 위해 gitlab-docs
프로젝트의 안정 브랜치를 생성합니다. 이는 다른 팀에서 생성한 안정 브랜치를 사용합니다.
안정 문서
gitlab-docs
의 안정 브랜치를 대상으로 하는 병합 요청이 병합되면, 파이프라인이 안정 문서를 빌드하여 레지스트리에 배포합니다. 예를 들어:
특히, 각 파이프라인의 image:docs-single
작업은 자동으로 실행됩니다.
이 작업은 빌드된 내용을 가져와 컨테이너 레지스트리에 푸시합니다.
안정적인 문서 이미지 재구성
안정적인 문서 이미지를 재구성하려면, 재구성할 이미지의 안정적인 브랜치에 대해 새 파이프라인을 만드세요. 다음과 같은 경우에 이 작업을 수행할 수 있습니다:
- 새로운 문서 변경 사항을 업스트림 안정적인 브랜치에서 안정적인 버전 Docker 이미지에 포함시키기 위해. 예를 들어,
14.4
Docker 이미지를 재구성하여gitlab
프로젝트에서 이후 병합된 변경 사항을 포함합니다.14-4-stable-ee
브랜치. -
gitlab-docs
프로젝트 자체에 대해 안정적인 브랜치에 적용된 변경 사항을 포함하기 위해. 예를 들어:- CSS 스타일 변경.
- 새 릴리스를 위한 버전 메뉴 변경.
최신 문서
우리는 다음을 포함하는 Docker 이미지(latest
로 태그됨)를 빌드합니다:
- 문서의 최신 온라인 버전.
- 업스트림 프로젝트의 안정적인 브랜치에서 가져온 문서.
- 관련 업스트림 프로젝트의 기본 브랜치에서 최신 문서를 가져옵니다.
- 이전에
image:docs-single
작업에 의해 빌드된 Docker 이미지를 가져옵니다. - 예약된 파이프라인에서 수동으로 실행해야 합니다.
예를 들어, image:docs-latest
작업을 포함하는 파이프라인:
페이지 배포 작업
GitLab Docs는 Pages 사이트이며, 이를 위한 문서 업데이트는 배포되어야 사용 가능해집니다.
pages
작업은 기본 브랜치(main
)에서 파이프라인이 실행될 때 자동으로 실행됩니다.
필요한 명령어를 실행하여 다음을 결합합니다:
-
gitlab-docs
사이트 코드의 최신 빌드. - 상위 프로젝트의 기본 브랜치에서 최신 문서.
-
image:docs-latest
의 문서.
수동으로 프로덕션에 배포
GitLab Docs는 Build docs.gitlab.com every hour
로 예정된 파이프라인이 실행될 때마다 프로덕션에 배포됩니다. 기본적으로 이 파이프라인은 매시간 실행됩니다.
유지 관리자는 수동으로 이 파이프라인을 실행하여 강제로 프로덕션에 배포할 수 있습니다:
-
gitlab-docs
에 대한 예정된 파이프라인으로 이동합니다. -
Build docs.gitlab.com every hour
옆에서 Play ()를 선택합니다.
업데이트된 문서는 새 파이프라인에서 pages
및 pages:deploy
작업이 완료된 후 프로덕션에서 사용 가능하게 됩니다.
이 작업을 수행할 수 있는 유지 관리 역할이 없다면, #docs
Slack 채널에서 도움을 요청하세요.
도커 파일
dockerfiles
디렉토리에는 https://docs.gitlab.com를 빌드, 테스트 및 배포하는 데 필요한 도커파일이 포함되어 있습니다.
문제 해결
@gitlab-org/gitlab-svg
에서 알려진 아이콘이 아님
UI 또는 문서에서 아이콘을 사용하려고 시도했는데 docs-lint links
작업에서 이 오류가 발생하는 경우, html-lint
도커 이미지의 업데이트가 필요합니다:
ArgumentError: example-image is not a known icon in @gitlab-org/gitlab-svg
926lib/helpers/icons_helper.rb:22:in `icon':
example-image is not a known icon in @gitlab-org/gitlab-svg (ArgumentError)
Slack의 #docs
채널을 이용하여 기술 문서 팀의 구성원에게 도커 이미지 업데이트를 요청하세요. 자세한 내용은 내부 기술 문서 팀 문서를 참조하세요.