티스토리 뷰
1. gitlab 설치
동생과 협업을 하기위해서 github를 사용하다가
회사 서버에 버전관리 도구를 설치해야겠다고 생각해서 찾던도중 gitlab을 쓰면 될꺼같아서 전반적으로 설치해본다.
2. docker gitlab설치
기본적으로 docker를 알고 있어야한다.
image pull 받는 곳
https://hub.docker.com/r/gitlab/gitlab-ce/
docker pull gitlab/gitlab-ce
3. docker run
빠르게 실행하고싶으면 간단하게 이렇게 실행하면된다.
--detach = -d 명령을 백그라운드로 실행한다.'
--hostname 나의 도메인주소가 있을경우 사용하면된다.
--publish 443:443
--publish 80:80 외부접속:이미지 내 포트
// 외부에서 접속하는포트를 내부의 포트로 연결해준다. 나의 경우는 외부접속포트를 변경하였다.
--publish 22:22
--name 도커에서 이름을 나타낸다 docker ps 하면
name 을 가르킨다.
--restart 다시 시작할경우 항상
--volume 볼륨은 도커는 이미지로 돌아가서 호스트서버에
폴더를 만들어서 그 폴더를 이미지에 연동시킨다
gitlab/gitlab-ce:latest 사용하고자하는 이미지 이름
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
실행을 하고 나면 최대 10분정도 기달려야한다.(느린컴퓨터일수록)
기다리기 지루하면 이렇게 치면 현재 실행중인로그를 볼수있다.
docker logs gitlab -f
나는 클라우드 서버를 사용하고 있어서 포트 다 열어놓고 실행하자마자 들어갔더니 안된다. 접속이 안되었다. 알고보니 gitlab 실행할려면 시간이 좀 걸린다. 잘 실행이 완료되면 http://호스트ip:포트번호로 접속하면 아래와 같이 로그인 페이지가 뜬다.
실행이 완료되면 이렇게 보인다.
docker stop gitlab
docker rm gitlab
기본적인 방법으로 하면 매번 켤때마다 명령어를 다 쳐야해서 불편하다. 그래서 방법을 바꾸기 위해서 컨테이너를 지운다.
4. docker-compose 사용하기
그대로 사용하면 너무 불편하고 명령어를 나중에 계속 쳐야해서 지운다. gityml 폴더를 만들어서 docker-compose.yml을 만든다.
mkdir gityml
cd gityml
vi docker-compose.yml
파일을 만들어서 아래의 내용을 추가한다.
나의 경우에는 포트를 수정하여서 사용하고 있다.
web:
image: 'gitlab/gitlab-ce:latest'
restart: always
hostname: 'gitlab.example.com'
container_name: gitlab
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://gitlab.example.com'
# Add any other gitlab.rb configuration here, each on its own line
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- '/srv/gitlab/config:/etc/gitlab'
- '/srv/gitlab/logs:/var/log/gitlab'
- '/srv/gitlab/data:/var/opt/gitlab'
- '/var/opt/gitlab/backups' # 백업 폴더 추가
docker-compose.yml 파을을 다 구성한 후, 아래 명령어를 실행하면, 명령어를 다 안쳐도됨
docker-compose up -d
5. gitlab의 버전을 업데이트 할때도 마찬가지 방법을 하면된다.
컨테이너를 중지, 지우고, 도커로 이미지 업데이트후에 다시 실행하면 된다.
sudo docker stop gitlab # 도커 컨테이너 중지
sudo docker rm gitlab # 도커 이미지 삭제
sudo docker pull gitlab/gitlab-ce:latest # gitlab 최신버전 이미지 받아오기
docker-compose up -d # gitlab 실행
docker-compose.yml 을 사용하여 진행했다면 더 쉽게 업데이트후 실행할수있다.
# docker-compose.yml의 위치로 이동
docker-compose pull # gitlab update
docker-compose up -d # gitlab 재실행
6. 메일 발송 설정
사용자가 비밀번호를 분실했을 경우, 메일로 비밀번호를 재설정할 수 있으면, 편리하다. 도커 컨테이너에 직접 접속하여 설정파일을 수정하자.
sudo docker exec -it gitlab /bin/bash # 컨테이너에 접속한다
vi etc/gitlab/gitlab.rb # 설정 파일을 수정하자
공식문서에서 확인하고 stmp서버의 예제를 보고 똑같이 수정해주면 된다. 변경후에는 변경된 내설정을 적용해야한다. 도커 컨테이너에 접속한 상태에서 그래도 명령어를 쳐주자.
# /etc/gitlab/gitlab.rb 를 변경한 후에는 항상 이 명령어로 변경사항을 적용한다(Omnibus GitLab 한정)
gitlab-ctl reconfigure
이 쉬운것을 2시간동안 삽질을 몇번을 했는지 모르겠다. 추후에는 더 빨리 설치할수있을듯하다.
참고문서 : https://lovemewithoutall.github.io/it/start-docker/
'Docker > Docker' 카테고리의 다른 글
도커(Docker)로 Redis 설치하기 (0) | 2021.07.21 |
---|---|
Docker에 Jenkins 설치하기 (0) | 2018.12.04 |