개인적으로나 회사내부 프로젝트 관리용으로 사용할 GitLab을 설치 방법
- 여러가지 방법으로 설치를 할수 있다.
- 여기서는 Docker compose를 사용하여 쉽고 간단하게 설치 하려한다.
- Docker 설치
- Docker GPG & Repository 추가
#> curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
#> add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
#> apt-get update
- Docker GPG & Repository 추가
#> apt-get install docker-ce docker-ce-cli containerd.io
#> mkdir -p /etc/systemd/system/docker.service.d
#> cd /etc/systemd/system/docker.service.d
#> vi http-proxy.conf (아래 내용 추가)
[Service]
Environment="HTTP_PROXY=http://x.x.x.x:8080/" "HTTPS_PROXY=http://x.x.x.x:8080/" "NO_PROXY=localhost, 127.0.0.1, xxx,xxx,xxx"
#> systemctl stop docker
(원하는 설정이 있으면 /etc/docker/daemon.json 을 생성한다. data-root 를 설정하여 docker image 가 저장될 path 를 정할 수 있다.)
#> systemctl daemon-reload
#> systemctl start docker
- Docker Compose 설치
export GITLAB_HOME=/home/user/gitlab
- Docker compose Download (1.29.2 version)
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
- docker compose file 생성
- docker-compose.yml
- 접속 port는 8989를 사용 (원하는데로 사용)
- ssh port는 2224를 사용 (원하는데로 사용)
web:
image: 'gitlab/gitlab-ee:latest'
restart: always
hostname: 'gitlab.example.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://gitlab.example.com'
# Add any other gitlab.rb configuration here, each on its own line
ports:
- '8989:8989'
- '2224:22'
volumes:
- '$GITLAB_HOME/config:/etc/gitlab'
- '$GITLAB_HOME/logs:/var/log/gitlab'
- '$GITLAB_HOME/data:/var/opt/gitlab'
- docker compose를 백그라운드(-d)로 실행
docker-compose up -d
- Admin 로그인
docker ps | grep 8989
9c46b207e12a gitlab/gitlab-ce:latest "/assets/wrapper" 32 minutes ago Up 28 minutes (healthy) 80/tcp, 443/tcp, 0.0.0.0:8989->8989/tcp, 0.0.0.0:2224->22/tcp gitlab_web_1
- docker안에 들어가서 admin의 password변경 (console이 root@my로 바뀐다)
docker exec -it 9c46b207e12a /bin/bash
root@my:/#
- gitlab-rails로 admin의 password 변경
gitlab-rails console
root@my:/# gitlab-rails console
--------------------------------------------------------------------------------
Ruby: ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
GitLab: 14.1.0 (b1a082345ce) FOSS
GitLab Shell: 13.19.0
PostgreSQL: 12.6
--------------------------------------------------------------------------------
Loading production environment (Rails 6.1.3.2)
irb(main):001:0>
- 이렇게 되면 일단 성공이고 아래와같이 password를 변경한다.
- 기본설정이라면 root로 나오는데
- mail정보는 admin@example.com이다.
irb(main):001:0> user = User.where(id: 1).first
=> #<User id:1 @root>
rb(main):019:0> user.password = 'reset_password'
=> "reset_password"
irb(main):020:0> user.password_confirmation = 'reset_password'
=> "reset_password"
irb(main):021:0> user.save!
=> true
irb(main):025:0> exit
- GitLab 접속하기
- 새로운 사용자 등록
- 위에 접속화면에서 아래에 Register now버튼을 누른다.
- name, email, password를 입력한다.
- Root 계정자가 승락할때까지 기다리고 로그인 하면된다.
- Root(Admin)이 계정 사용자 승인하기
- Root계정으로 로그인을 한다.
- 왼쪽 상단 Menu버튼을 선택
- Menu에서 Admin을 선택
- 가운데 Users 박스에서 View lastes users 선택 (test 사용자 추가)
- 오른쪽 톱니 모양 선택하고 Approve 선택
- 성공!!