-
Docker로 gitlab 설치Linux 2018. 5. 10. 19:29
회사의 중요한 자산인 소스를 완전 관리형의 편의로 외부에 두는건 좀 불안해서
gitlab 택했다. 과거에는 이거 설치하다 완전 날새기 일쑤 였는데 요즘 Docker 가 다 해결해 주니 참 편리한 세상이다. ^^;난 docker-compose 를 활용해서 설치할 것이다.
공식문서 : https://docs.gitlab.com/omnibus/docker/
글 중간쯤에 이렇게 친절하게 설명하고 있다.
자 이제 본격적으로 설치해보자
OS : AWS CentOS
CPU : 2
RAM : 4GB (가급적 8G , 4G 인경우 hang 이 걸리는 상황 발생)
일단 도커가 필요하다.!AWS AMI 는 기본적으로 Docker 를 설치할수 있게 repository 를 연결하고 있다.모두 root 계정으로 실행
EC2 생성 직후라면 원할한 진행을 위해 업그레이드를 하자 , 아니면 skip
# yum -y upgrade
도커설치
# yum -y install docker
AWS 사용중이라면 이렇게 ec2-user 도커 실행 권한을 부여해 놓자.# usermod -aG docker ec2-user
도커 서비스 시작
# service docker start
# systemctl enable docker : 자동실행 설정
//쉘 닫고 ec2-user 새로운 티미널 열고 확인#> 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
web:container_name : gitlabimage: 'gitlab/gitlab-ce:latest'restart: alwayshostname: 'gitlab.my.com'environment:GITLAB_OMNIBUS_CONFIG: |external_url 'http://gitlab.my.com'ports:- '80:80'- '443:443'- '1022:22'volumes:- '/srv/gitlab/config:/etc/gitlab'- '/srv/gitlab/logs:/var/log/gitlab'- '/srv/gitlab/data:/var/opt/gitlab'난 위 처럼 말고 별도 파티션(/data)으로 분리해서 사용한다.hosts 등록이 필요한 경우extra_hosts:- "gitlab.my.com:172.31.21.93" 이런식으로 ..22번은 이미 ssh 로 사용중이니 1022 맵핑그리고 docker-compose.yml 파일이 있는 경로에서 실행docker-compose up -d이렇게 하면 대략 초기 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 파일 아래 처럼 수정해서 기동
web:image: 'gitlab/gitlab-ce:10.7.3-ce.0'~~ 생략 ~~3. 백업
1) 우선 old gitlab 서버에서 gitlab-rake 명령을 통해 백업 실행 !docker exec -it root_web_1 gitlab-rake gitlab:backup:create그럼 이렇게 진행되고 tar 파일이 생성됨
2) 1557812389_2019_05_14_10.7.3_gitlab_backup.tar 파일을 이제 호스트로 복사
3) 일단 실제 파일 생성됐는지 경로 확인
# docker exec -it root_web_1 /bin/bash
# cd /var/opt/gitlab/backups확인됐으면 호스트쪽으로 복사# 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 파일을 옮겨 놓는다
그리고 신규서버 docker 쉘에 접속해서 아래 명령어를 실행한다# docker exec -it root_web_1 /bin/bash그럼 먼가 메시지가 많이 나오면 한참 진행된다.gitlab-ctl reconfiguregitlab-ctl startgitlab-ctl stop unicorngitlab-ctl stop sidekiqgitlab-ctl status그리고 이게 끝나면 호스트 쪽에서# docker exec -it root_web_1 gitlab-rake gitlab:backup:restore --trace위 명령어로 복구 시작 진행 !중간에 계속하겠냐고 묻고 yes 라고 하면 한참 진행된다.끝나면 다시 도커 쉘 접근해서# docker exec -it root_web_1 /bin/bash# gitlab-ctl restart
이렇게 하면 끝!
'Linux' 카테고리의 다른 글
MariaDB 설치 (CentOS 7.x) (0) 2018.08.25 MariaDB 인코딩 이슈 (0) 2018.07.12 GoAccess - 아파치 로그 분석 (0) 2018.03.22 CentOS 6 Epel 저장소 추가하기 (0) 2018.03.21 Dokuwiki 설치하기 (0) 2017.06.08