[Gitlab] 온프레미스 환경 구축하기 – 빌드편 (번외)
목표
트래픽이 어떻게 굴러가는지, 그리고 모든 부분에 있어서 스케일 아웃이 가능하다는 것을 알았으므로, Docker 이미지를 이용해서 배포하는 것이 좋겠다고 판단되었다.
그래서 본 시리즈는 Docker 이미지를 이용해서 Gitlab 온프레미스 환경을 구축하는 것을 목표로 한다.
시작
일단 선례를 찾아보기 위해서 Gitlab Docker 이미지를 찾아보았는데, Alpine Linux에서 지속적으로 Gitlab Docker 이미지에 대한 업데이트를 제공해 주었다.
https://gitlab.alpinelinux.org/alpine/infra/docker/gitlab
분석
빌드를 하면 나오는 아티팩트를 표로 정리해보았다.
리포지토리 | 언어 | 빌더 | 아티팩트 |
---|---|---|---|
Gitlab FOSS | Ruby | Bundler | Puma |
Workhorse | |||
Sidekiq | |||
Nginx | |||
Gitaly | Go | Make | Gitaly |
Git | |||
Gitlab-shell | Go | Make | Gitlab-shell |
Gitlab-kas | Go | Make | Gitlab-kas |
원래는 빌드 -> 이미지 생성 -> 설정 -> 배포 이 순서로 가려고 했다. 그런데 Gitlab 에서 매 버전 마다 이미지를 만들어 주고 있었다! CNG라는 리포지토리에서 debian, alpine linux를 기반으로 최적화된 이미지를 빌드해서 자체 container registry를 운영하고 있었다.
그래서 필요한 이미지 파악 -> 설정 -> 배포 순으로 변경하고자 한다!
Share