2021. 12. 26. 13:58ㆍDocker
https://hub.docker.com/search?q=gitlab&type=image
docker pull gitlab/gitlab-ce
https://docs.gitlab.com/ee/install/docker.html
https://docs.gitlab.com/ee/install/docker.html#install-gitlab-using-docker-compose
cmd에 환경변수 셋팅
# 윈도우
set GITLAB_HOME=원하는 디렉토리
set : 등록 확인
# 리눅스
export GITLAB_HOME=원하는 디렉토리
export
docker-compose.yml 파일 생성 및 작성
# 22번 포트 충돌시, 다른 포트로 변경 : OS에서 사용하는 포트와 충돌하기 때문
외부포트만 충돌하기 때문에 변경하고, 내부포트는 22로 셋팅해야 함
ports:
- '80:80'
- '443:443'
- '2222:22' # ssh 포트 host의 22번과 충돌을 피하기 위함
- '5050:5050'
docker-compose up -d
# gitlab.rb permission 문제 발생시 : volume에 'Z' 옵션 추가
# root 비밀번호 변경
docker exec -it 컨테이너 이름 bash
gitlab-rails console -e production
user = User.where(id: 1).first
user.password='비밀번호'
user.password_confirmation='비밀번호'
user.save
# 브라우져에서 gitlab 사이트 접속
ID : root
Password : 비밀번호
(eval):1: unknown regexp options - gtlab external_url http://gitlab.example.com
도메인 부분을 ""으로 감싸주면 됨
(eval):1: unknown regexp options - gtlab external_url "http://gitlab.example.com"
runner 접속정보(Register the runner with this URL) 변경
브라우져에서 접속한 정보에 따라 보여짐
'http://192.168.0.2'로 접속하면 'http://192.168.0.2/'로 보이고,
'http://gitlab'으로 접속하면 'http://gitlab/'으로 보임
client 접속정보 변경
docker-compose.yml 수정 : ./confg/gitlab.rb 보다 더 우순선위 높음
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://gitlab'
docker-compose up -d를 수행하면 ./data/gitlab-rails/etc/gitlab.yml 파일이 변경됨
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: gitlab
port: 80
https: false
ERROR: Registering runner... failed runner=iuqrbryF status=couldn't execute POST against http://192.168.0.2/api/v4/runners: Post "http://192.168.0.2/api/v4/runners": dial tcp 192.168.0.2:80: connect: no route to host PANIC: Failed to register the runner. You may be having network problems.
gitlab-runner에서는 192.168.0.2 IP를 인식하지 못함 : docker-compose/bridge network인 경우
접속정보를 'http://gitlab'으로 해야 같은 네트워크 안의 gitlab을 인식을 할 수 있음
gitlab-runner 상태 확인
gitlab-runner verify
docker logs -f 컨테이너명
FATAL: Service run failed error=stat /etc/gitlab-runner/config.toml: permission denied
selinux 때문에 발생 : ':Z' 추가
volumes:
- $GITLAB_HOME/runner/config:/etc/gitlab-runner:Z
- /var/run/docker/sock:/var/run/docker.sock
granfana 셋팅
https://docs.gitlab.com/omnibus/settings/grafana.html
접속 : ${gitlab 도메인}/-/grafana/login
docker-compose.yml에 적용한 "grafana['admin_password'] = 'foobar'"은 작동 안함
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://gitlab.example.com'
registry_external_url 'http://gitlab.example.com:5050'
grafana['disable_login_form'] = false
grafana['admin_password'] = 'foobar'
# Add any other gitlab.rb configuration here, each on its own line
아래 명령으로 비밀번호 설정 : 로그인 잘됨
docker exec -it 컨테이너명 gitlab-ctl set-grafana-password
gitlab registry 사용
docker-compose.yml 파일에 registry_external_url을 추가하면 됨
./config/gitlab.rb에 추가하고, 'gitlab-ctl reconfigure'를 수행해줘도 됨
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://gitlab.example.com'
registry_external_url 'http://gitlab.example.com:5050'
gitlab 접속용 ssh 키 만들기
https://docs.gitlab.com/ee/ssh/
https://www.lainyzine.com/ko/article/creating-ssh-key-for-github/
https://insight.infograb.net/docs/user/ssh_keys/
클라이언트에서 키 생성
클라이언트 공개키를 gitlab에 등록
오른쪽 상단 사용자정보 > Edit profile
오른쪽 메뉴 > SSH Keys > 공개키 붙여 넣기 > Add Key
'Docker' 카테고리의 다른 글
Docker 에러 (0) | 2022.01.02 |
---|---|
Docker 명령어 (0) | 2022.01.02 |
Linux Docker 설치 (0) | 2021.12.31 |
InfluxDB 명령어 (0) | 2021.12.26 |
Windows Docker 설치 (0) | 2021.12.26 |