ubuntu18.04에 docker compose로 gitlab 설치하기

ubuntu에 docker compose로 gitlab 설치하기

들어가기

가상머신의 ubuntu18.04에 docker compose를 통해서 gitlab 서버를 설치해 보겠다.

ubuntu에 미리 docker, docker-compose 가 설치되어 있어야 한다.

1.docker 관리 폴더 만들기

1
2
3
4
5
6
7
8
docker
|-- gitlab
|-- gitlab-data
| | -- backups
| | -- config
| | -- data
| | -- logs
|-- docker-compose.yml

docker-compose.yml 파일과 컨테이너와 연결할 호스트 볼륨을 저장할 gitlab-data 폴더를 생성했다.

2. docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
web:
image: 'gitlab/gitlab-ce:latest'
restart: always
container_name: 'gitlab'
hostname: '127.0.0.1'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://127.0.0.1:8929'
gitlab_rails['gitlab_shell_ssh_port'] = 2224
ports:
- '8929:8929'
- '2224:22'
volumes:
- './gitlab-data/config:/etc/gitlab'
- './gitlab-data/logs:/var/log/gitlab'
- './gitlab-data/data:/var/opt/gitlab'
- './gitlab-data/backups:/var/opt/gitlab/backups'

gitlab 공식 사이트에 가면 gitlab을 위한 docker-compose 파일을 제공한다.

그걸 받아서 볼륨과 포트정도만 수정했다.

위 127.0.0.1로 설정된 부분은 필요한데로 고정아이피를 넣어주면 된다.

지금은 실습을 위해 그냥 로컬호스트아이피로 박았다.

참고로 external_url에 설정된 ULR은 나중에 gitlab서버에서 생성된 리파지토리의 clone할 URL로 제공된다.

3.혹시나 해서 gitlab-data 권한부여

이건 내가 공부가 적어 잘 모르겠다.

혹시 컨테이너 실행시 볼륨에 파일을 쓰면서 권한 오류가 발생할까 싶어, gitlab-data 폴더에 777권한을 부여 할 것이다.

1
chmod -R 777 gitlab-data

-R 옵션은 gitlab-data폴더와 하위 폴더 모두에 한꺼번에 권한을 주는 옵션이다.

4. gitlab 도커 컨테이너 올리기

1
sudo docker-compose up -d

위 명령어로 gitlab 도커 컨테이너를 올리자.

위처럼 빨리 done이라 나오지만 gitlab은 컨테이너가 부트가 되는 시간이 좀 길다.

로그를 확인해보자.

1
sudo docker-compose logs -f -t --tail="all"

한참 로그가 나오다가 위처럼 http에 관한 로그가 나오기 시작하면 접속이 가능한 상태가 된다.

1
sudo docker-compose ps

위 명령어로 컨테이너 상태를 확인해보자.

status가 up으로 되어있으면 정상인 것이다.

문제가 있는경우 계속 starting 인 경우가 있으니, 그땐 로그를 보고 해결책을 찾아야 한다.

5. gitlab에 접속해서 컨테이너 동작 확인하기.

브라우저에 http://127.0.0.1:8928 로 접속해보자.

root 계정의 비밀번호를 입력해주자.

그 다음 root/방금생성한 비멀번호 를 입력해서 로그인하자.

그러면 Administrator 로 로그인 하게 된다.

아래는 테스트 프로젝트를 push 해서 동작을 확인한 화면이다.