- Docker Gitlab-CE 설치 및 기본운영
https://docs.gitlab.com/omnibus/docker/
https://hub.docker.com/r/gitlab/gitlab-ce/tags/
- Gitlab 직접 설치 Ubuntu
문서를 읽다가 보면 현재 Docker Image에는 E-Mail을 위한 SMTP Server가 설치가 되어있지 않다고한다.
나중에 필요하다면 SMTP Server 설치를 진행해서도 테스트를 해보자
- 기존에 SSH Server가 설치되어 정지
$ sudo service ssh status //SSH Server 상태확인
or
$ sudo systemctl status ssh
$ sudo service ssh stop // SSH Server 정지
or
$ sudo systemctl stop ssh
$ sudo systemctl enable/disable ssh //SSH Service enable/disable
$ systemctl list-units --type service $ systemctl list-units --type service --all
1.1 Image Download and Run Gitlab-CE Container
기존으로 Background(detach)로 돌리것이므로, Docker의 설정인 Terminal mode 설정을 비롯하여 다른 설정이 필요없다.
본인이 Terminal에 들어가서 확인하고 싶다면 docker exec 로 이용하여 확인한다
$ docker pull gitlab/gitlab-ce $ docker run --detach \ --hostname gitlab.example.com \ -p 443:443 -p 80:80 -p 22:22 \ --name gitlab \ --restart always \ -v /srv/gitlab/config:/etc/gitlab \ -v /srv/gitlab/logs:/var/log/gitlab \ -v /srv/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce:latest $ docker ps -a // Container 동작확인 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e96d2500ff76 gitlab/gitlab-ce:latest "/assets/wrapper" 2 hours ago Up 2 hours (healthy) 0.0.0.0:22->22/tcp, 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp gitlab
- PortMapping
- SSH : 22
- HTTP: 80
- HTTPS:443
- Host 와 Container Data 공유
- /srv/gitlab/data For storing the GitLab configuration files
- /srv/gitlab/logs For storing logs
- /srv/gitlab/config For storing the GitLab configuration files
- hostname
1.2 Git Lab의 Config 설정
Gitlab 의 설정은 /etc/gitlab/gitlab.rb 에서 하면되며, 자세한 내용은 아래의 세부 설정부분에서 참조
- GitLab Config 설정 및 확인
$ docker exec -it gitlab /bin/bash root@gitlab:/# vi /etc/gitlab/gitlab.rb or $ docker exec -it gitlab editor /etc/gitlab/gitlab.rb
Config의 SMTP 관련설정
https://docs.gitlab.com/omnibus/settings/smtp.html
Config HTTPS 관련설정
https://docs.gitlab.com/omnibus/settings/nginx.html#enable-https
1.3 Gitlab 관리 부분
여러명의 ID를 만들고 데이타를 저장을 한 후 Gitlab Container를 삭제 후 다시 시작을 해보면 제대로 /srv/gitlab 에 Backup 되었는지 확인가능하다
상위 docker run 명령어를 사용하여 다시 테스트 진행 (문제 없음확인)
2. Gitlab-CE 기본설정 및 확인
아래의 링크로 접속 (본인 IP접속가능 or Hostname)
http://localhost
Root Password를 설정
New User를 등록하고 관리시작
( Root 권한이라서 그런가 Sign in 이외 Resister 가 존재)
그룹 과 개인으로 구분해서 사용하자
그룹으로 생성
개인 Project 생성 및 기본 테스트
아직 Composer를 이용하여 별도설정 해보지 못했으며, 현재 테스트 용도로만 사용하고 있다.
그리고, Docker를 동시에 여러개 사용하지도 않는다.
Gitlab-CE 와 EE의 차이
http://developer.gaeasoft.co.kr/development-guide/gitlab/gitlab-introduce/
https://projects.raspberrypi.org/en/projects/getting-started-with-git
https://docs.gitlab.com/omnibus/settings/smtp.html
Config HTTPS 관련설정
https://docs.gitlab.com/omnibus/settings/nginx.html#enable-https
- Gitlab Docker 재실행
$ docker restart gitlab //설정 변경후 Container 재시작
1.3 Gitlab 관리 부분
- Data Backup 확인을 위해 Container 삭제 후 다시 재시작
여러명의 ID를 만들고 데이타를 저장을 한 후 Gitlab Container를 삭제 후 다시 시작을 해보면 제대로 /srv/gitlab 에 Backup 되었는지 확인가능하다
$ docker ps -a // Container 동작확인 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e96d2500ff76 gitlab/gitlab-ce:latest "/assets/wrapper" 2 hours ago Up 2 hours (healthy) 0.0.0.0:22->22/tcp, 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp gitlab $ docker stop e96d2500ff76 // Container 정지 $ docker rm e96d2500ff76 // Container 삭제
상위 docker run 명령어를 사용하여 다시 테스트 진행 (문제 없음확인)
- GitLab의 Log 확인
$ docker logs gitlab | tail
2. Gitlab-CE 기본설정 및 확인
아래의 링크로 접속 (본인 IP접속가능 or Hostname)
http://localhost
Root Password를 설정
New User를 등록하고 관리시작
( Root 권한이라서 그런가 Sign in 이외 Resister 가 존재)
그룹 과 개인으로 구분해서 사용하자
그룹으로 생성
개인 Project 생성 및 기본 테스트
아직 Composer를 이용하여 별도설정 해보지 못했으며, 현재 테스트 용도로만 사용하고 있다.
그리고, Docker를 동시에 여러개 사용하지도 않는다.
Gitlab-CE 와 EE의 차이
http://developer.gaeasoft.co.kr/development-guide/gitlab/gitlab-introduce/
- Raspberry PI에서 직접 GitLab Server 이용
https://projects.raspberrypi.org/en/projects/getting-started-with-git