Docker로 gitlab 설치
회사의 중요한 자산인 소스를 완전 관리형의 편의로 외부에 두는건 좀 불안해서
gitlab 택했다. 과거에는 이거 설치하다 완전 날새기 일쑤 였는데 요즘 Docker 가 다 해결해 주니 참 편리한 세상이다. ^^;
난 docker-compose 를 활용해서 설치할 것이다.
공식문서 : https://docs.gitlab.com/omnibus/docker/
글 중간쯤에 이렇게 친절하게 설명하고 있다.
자 이제 본격적으로 설치해보자
OS : AWS CentOS
CPU : 2
RAM : 4GB (가급적 8G , 4G 인경우 hang 이 걸리는 상황 발생)
모두 root 계정으로 실행
EC2 생성 직후라면 원할한 진행을 위해 업그레이드를 하자 , 아니면 skip
# yum -y upgrade
도커설치
# yum -y install docker
# usermod -aG docker ec2-user
도커 서비스 시작
# service docker start
# systemctl enable docker : 자동실행 설정
#> docker --version
도커 컴포저 설치
* 2019-04월 기준 (버전은 계속 변경될수 있다. 위에 링크 확인 필요! .)
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# sudo chmod +x /usr/local/bin/docker-compose
설치가 완료되면 정상작동하는지 버전 확인해보자
# docker-compose --version
docker 컴포저를 이용하여 설치하기 위한 yml 파일 작성
docker-compose.yml을 다운 받거나 아래처럼 vi 로 편집해서 사용해도 된다.
URL 은 임의로 gitlab.my.com 으로 가정한다
vi docker-compose.yml
이렇게 하면 대략 초기 3분 정도 시간이 필요한데 진행상황을 보고 싶은경우에는
# docker ps 명령을 통해 컨테이너명을 확인하고
# docker logs -f <컨테이너명>
실제 웹사이트 접속! http://서버 ip or 도메인
위 화면이 root 비번 변경하는 화면
메일 설정
docker exec -it root_web_1 /bin/bash
위 명령어로 docker 콘솔 접속
vi /etc/gitlab/gitlab.rb
로 해당설정 오픈해서 GMAIL 설정
상세 설정 내용은
https://docs.gitlab.com/omnibus/docker/README.html#install-gitlab-using-docker-compose
여기에서
https://docs.gitlab.com/omnibus/settings/smtp.html
이쪽 내용에서 확인 가능
변경내용을 적용하기 위해 아래 명령어 사용
해당 명령어는 여전히 도커 내부 bash 임
gitlab-ctl reconfigure
이렇게 하면 설치끝!
서버 이관 하기
1. gitlab 버전 확인
: help 클릭
2. 동일한 버전으로 신규 서버에 설치
즉 난 10.7.3 버전이니까 도커허브에서 버전확인하고 compose 파일 아래 처럼 수정해서 기동
3. 백업
그럼 이렇게 진행되고 tar 파일이 생성됨
2) 1557812389_2019_05_14_10.7.3_gitlab_backup.tar 파일을 이제 호스트로 복사
3) 일단 실제 파일 생성됐는지 경로 확인
# docker exec -it root_web_1 /bin/bash
# docker cp root_web_1:/var/opt/gitlab/backups/1557812389_2019_05_14_10.7.3_gitlab_backup.tar ./
* 참고!
이미 볼륨마운트를 한 상황이라 위처럼 안해도 됨! 이미 호스트 파일 시스템에 파일이 존재한다!
# cd /srv/gitlab/data/backups
여기서 그냥 복사해오면됨
4. tar 파일을 이제 신규 서버로 이동
: sftp 활용해서
신규 서버의 cd /srv/gitlab/data/backups 에 tar 파일을 옮겨 놓는다
# gitlab-ctl restart
이렇게 하면 끝!