DevOps/GitLab

ubuntu에 GitLab을 설치해보자

yscho03 2022. 2. 22. 18:07
728x90
반응형

gitlab 설치

1. 리눅스 필수 패키지 설치

root@master:~# apt update
root@master:~# apt-get install -y ca-certificates curl openssh-server

2. gitlab-ce 리포지토리 추가

root@master:~# curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
root@master:~# cat /etc/apt/sources.list.d/gitlab_gitlab-ce.list 

# this file was generated by packages.gitlab.com for
# the repository at https://packages.gitlab.com/gitlab/gitlab-ce

deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ focal main
deb-src https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ focal main

3. gitlab-ce 설치

root@master:~# apt-get install -y gitlab-ce

우와~ 설치 완료시 아래와 같은 로고 마크가 나옵니다.

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.
  


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/

4. gitlab 설정 변경

  • external_url : 외부에서 접속할 도메인을 적는다.
  • time_zone : 우리나라 시간 타임존으로 변경한다.
  • git_data_dirs : gitlab에서 저장할 데이터 경로를 명시적으로 지정해준다.
  • nginx 설정 : SSL 설정을 해준다.
vi /etc/gitlab/gitlab.rb

----------------------------------------------------
# 33번째 라인
external_url 'https://example.com'
  
# 68번째 라인
gitlab_rails['time_zone'] = 'Asia/Seoul'
 
# 642번째 라인
git_data_dirs({
   "default" => {
     "path" => "/data/git-data"
    }
})
 
# 1398번째 라인
nginx['redirect_http_to_https'] = true
 
# 1413번째 라인 (SSL 설정)
nginx['ssl_certificate'] = "/etc/gitlab/ssl/default_ssl_certificate.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/default_ssl_certificate.key"
----------------------------------------------------

참고로 아래와 같은 구성으로 되어 있으므로 각각 다른 포트로 구성시 external_url, puma등 충돌이 안 발생하도록 설정해야한다.

 

 

5. gitlab 설정 적용

gitlab.rb 설정 파일을 변경 시에는 반드시 reconfigure 명령어를 사용하여 적용시켜주어야 합니다.

root@master:~# gitlab-ctl reconfigure

6. gitlab 시작

root@master:~# gitlab-ctl start

7. gitlab 루트 비밀번호 변경

초기 비밀번호를 알지 못하여 아래와 같은 console로 접속하여 변경시켜 주었습니다.

root@master:/var/opt/gitlab/nginx/logs# gitlab-rails console -e production
--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux]
 GitLab:       14.7.3 (293f6bb322b) FOSS
 GitLab Shell: 13.22.2
 PostgreSQL:   12.7
--------------------------------------------------------------------------------
Loading production environment (Rails 6.1.4.4)
irb(main):001:0> user=User.where(id:1).first
=> #<User id:1 @root>
irb(main):002:0> user.password='1q2w3e4r'
=> "1q2w3e4r"
irb(main):003:0> user.password_confirmation='1q2w3e4r'
=> "1q2w3e4r"
irb(main):004:0> user.save
=> true

8. gitlab 접속

external_url에 설정한 주소로 브라우저로 접속을 합니다. 초기화 한 root 비밀번호 로그인해봅니다.

728x90
반응형