티스토리 뷰
□ Gitlab
▶Gitlab은 이슈, 코드 리뷰, CI 및 CD를 단일 UI로 통합하는 통합 제품입니다. 또한, Git의 원격 저장소 기능과 이슈 트래커 기능들을 제공하는 소프트웨어입니다.
▶Gitlab 도커 이미지는 CE(Community Edition)과 EE(Enterprise Edition) 버전이 있는데 CE 버전으로 설치하였습니다.
▶Team, Group 기능 별도로 제공되어 권한 관리에 용이합니다.
★ 이번 Gitlab도 마찬가지로 docker container로 올려 Traefik에 자동으로 연결해보겠습니다.
□ RUN Gitlab-ce Server
▶ publish로 호스트에 연결된 컨테이너의 특정 포트를 외부에 노출시킵니다. 내부에서 사용할 포트와 실제 VM 포트번호를 맵핑해주는 옵션인데 우리는 Traefik에 연결해야하기때문에, 앞에서 base domain을 hskim.kr 로 했으므로 gitlab.hskim.kr로 주고 port는 똑같이 80으로 연결합니다.
docker run \
--detach \
--name gitlab \
--network hskim-net \
--publish 10022:22 \
--publish 10080:80 \
--restart always \
--mount type=volume,src=gitlab-conf,dst=/etc/gitlab \
--mount type=volume,src=gitlab-log,dst=/var/log/gitlab \
--mount type=volume,src=gitlab-data,dst=/var/opt/gitlab \
--label traefik.port=80 \
--label traefik.frontend.rule=Host:gitlab.hskim.kr \
gitlab/gitlab-ce
□ Gitlab config
▶ config 파일안에 설정 정보들이 들어있습니다. 바꾸기전에 백업 해놓습니다.
cd /data/volumes/gitlab-conf/_data/
sudo cp /data/volumes/gitlab-conf/_data/gitlab.rb /data/volumes/gitlab-conf/_data/gitlab.rb.bak
▶ external_url: 외부에서 접속할 url을 입력해줍니다. run할때 traefik.frontend.rule에 입력했던 도메인을 입력해 줍니다.
external_url 'http://gitlab.hskim.kr'
gitlab_rails['gitlab_ssh_host'] = 'gitlab.hskim.kr'
gitlab_rails['time_zone'] = 'Asia/Seoul'
□ Gitlab 접속
▶ 정상적으로 Gitlab container가 올라갔다면 아래 URL로 접속하면 접속 가능합니다.
http://gitlab.hskim.kr
▶ NBP 기준으로 서버의 Public_IP가 붙어 있어야 하며 Public_IP를 도메인 호스팅에 등록하여 아래와 같이 도메인을 추가해야 정상적으로 동작할 것입니다. (예시: whois)
★ 도메인 호스팅 업체에서 ASTRO를 허용하는 곳이 있다면 서비스가 생성될때마다 추가 안해줘도 되는데, whois는 ASTRO를 지원하지 않습니다.
□ 참고
▶ 앞으로 ldap 연동해서 계정을 관리하기때문에 회원가입창 비활성화 하는 방법입니다.
(Admin Area > Settings > General > Sign-up restrictions > Sign-up enabled)
'DevOps > CI - CD' 카테고리의 다른 글
[NBP] CI / CD - Gitlab runner를 활용한 WAR 배포 (8) | 2020.08.08 |
---|---|
[NBP] CI / CD - Nexus3 및 LDAP 연동 (0) | 2020.06.22 |
[NBP] CI / CD - LDAP Install 및 LDAP & Gitlab 연동 (0) | 2020.06.22 |
[NBP] CI / CD - Traefik (0) | 2020.04.14 |