Gitlab &Gitlab-runner

안상운·2025년 2월 13일

Gitlab

목록 보기
1/1

GitLab 설치 및 기본 설정 방법1.

1. Gitlab 설치 및 구성.

  1. sudo mkdir -p /data/gitlab && cd /data/gitlab (GitLab 설치 디렉토리 생성)
sudo mkdir -p /data/gitlab && cd /data/gitlab
mkdir -p /data/gitlab

/data/gitlab 디렉토리를 생성.
-p 옵션: 부모 디렉토리(/data)가 없으면 자동으로 생성.

cd /data/gitlab

해당 디렉토리로 이동.
✅ 즉, GitLab 데이터를 저장할 디렉토리를 만들고 이동하는 과정.

  1. sudo mkdir data logs config (GitLab 데이터 디렉토리 구성)
sudo mkdir data logs config

GitLab은 여러 개의 디렉토리를 필요로 함.
data/ → Git 저장소 데이터 저장
logs/ → GitLab 실행 로그 저장
config/ → GitLab 설정 파일 저장
✅ GitLab이 정상적으로 작동하도록 필요한 디렉토리를 미리 생성하는 단계.

  1. sudo chown -R USER:USER:USER /data/gitlab (디렉토리 소유권 변경)
sudo chown -R $USER:$USER /data/gitlab

이유

chown -R $USER:$USER /data/gitlab

현재 사용자가 /data/gitlab 및 하위 디렉토리를 소유하도록 변경.
$USER는 현재 로그인한 사용자를 의미.
✅ 루트(root) 권한 없이 GitLab을 실행할 수 있도록 설정하는 과정.

  1. sudo chmod -R 755 /data/gitlab (디렉토리 접근 권한 설정)
sudo chmod -R 755 /data/gitlab

chmod -R 755
소유자(읽기, 쓰기, 실행): rwx (7)
그룹 & 다른 사용자(읽기, 실행만 가능): r-x (5)
-R 옵션은 모든 하위 디렉토리에 적용.
✅ GitLab이 정상적으로 파일을 읽고 실행할 수 있도록 권한을 설정하는 과정.

💡 이 과정이 필요한 이유
GitLab이 데이터를 저장할 디렉토리를 확보 (/data/gitlab + 하위 폴더)
GitLab 실행 시 권한 문제를 방지 (chown으로 소유권 변경)
필요한 파일 접근 권한을 설정 (chmod 755)

  1. compse.yml 파일 작성.
    GitLab을 Docker Compose를 이용하여 컨테이너로 실행하는 설정
vi docker-compose.yml
 services:
 gitlab:
  image: yrzr/gitlab-ce-arm64v8:17.7.4-ce.0
  container_name: gitlab
  restart: always
  hostname: "192.168.0.31"
  environment:
   GITLAB_OMNIBUS_CONFIG: |
    external_url '192.168.0.31:80'
    gitlab_rails['gitlab_shell_ssh_port'] = 8022
   TZ: "Asia/Seoul"
  ports:
   - '80:80'
   - '443:443'
   - '8022:22'
  volumes:
   - './config:/etc/gitlab'
   - './logs:/var/log/gitlab'
   - './data:/var/opt/gitlab'
  1. compse 실행.
    Docker Compose를 사용하여 정의된 여러 개의 컨테이너를 백그라운드에서 실행
docker-compose up -d

GitLab Docker Compose 실행 상태 확인 가이드 분석

  1. GitLab 구동 로그 확인
    명령어:
docker-compose logs -f

docker-compose를 사용하여 GitLab 컨테이너의 로그를 실시간(-f)으로 확인하는 명령어.
GitLab이 정상적으로 실행되고 있는지 확인하거나 오류 발생 시 원인을 파악하는 데 유용.

  1. GitLab Pod 상태 확인
    명령어:
docker-compose ps

현재 docker-compose로 실행 중인 컨테이너 목록을 보여주는 명령어.
이미지의 출력 내용을 보면:
컨테이너 이름: gitlab
실행 상태: Up (healthy) → GitLab이 정상적으로 실행되고 있음을 의미

포트 정보:
80 (HTTP)
443 (HTTPS)
22 (SSH) → 호스트에서는 8022 포트로 접근 가능

  1. GitLab 초기 패스워드 확인
    명령어:
docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

GitLab의 초기 루트 비밀번호를 확인하는 명령어.
실행 시:

docker exec -it gitlab → gitlab 컨테이너 내부에서 명령어 실행
grep 'Password:' /etc/gitlab/initial_root_password → 초기 비밀번호가 저장된 파일에서 Password:가 포함된 줄 출력
GitLab 최초 로그인 시 root 계정의 비밀번호를 확인할 때 필수적으로 사용.

  1. external_url 로 설정한 ip or domain 브라우저 접속 후 root/ initial password 입력 후 로그인.

GitLab Runner

  1. gitlab-runner 폴더 생성, 권한 부여.
sudo mkdir -p /data/gitlab-runner/config && cd /data/gitlab-runner
sudo chown -R $USER:$USER /data/gitlab-runner
  1. gitlab runner compose.yml 생성, 실행.
version: '3.9'
services:
  gitlab-runner:
    image: gitlab/gitlab-runner:alpine3.19-bleeding
    platform: linux/arm64
    container_name: gitlab_runner
    restart: always
    volumes:
      - './config:/etc/gitlab-runner'
      - '/var/run/docker.sock:/var/run/docker.sock'

실행이 완료 되면 아래와 같은 에러 로그가 계속 되는데 gitlab 연결 설정이 되지 않았기 때문에 정상

  1. Gitlab에 runner를 연결하기 위해 registration token을 확인.

admin > runners > Registration token

다시 콘솔로 돌아가서 앞서 실행했던 runner 컨테이너로 접속

docker exec -itu 0 gitlab-runner bash

register를 통해 등록


GitLab 설치 및 기본 설정 방법2

1. 필수 패키지 설치

sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
  • GitLab 실행에 필요한 기본 패키지 설치

이메일 알림을 위한 Postfix 설치 (선택 사항)

sudo apt-get install -y postfix
  • 설치 중 Internet Site 선택 후 기본 설정 유지
  • 외부 SMTP 서버를 사용할 경우 생략 가능

2. GitLab 패키지 저장소 추가 및 설치

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
sudo EXTERNAL_URL="https://gitlab.example.com" apt-get install gitlab-ee
  • DNS가 올바르게 설정되었는지 확인
  • HTTPS를 사용할 경우 Let’s Encrypt 자동 인증서 발급됨

특정 버전 설치 및 업데이트 제한

apt-cache madison gitlab-ee  # 설치 가능한 버전 확인
sudo apt-mark hold gitlab-ee  # 자동 업데이트 제한
sudo apt-mark showhold  # 제한된 패키지 확인

3. GitLab 웹 인터페이스 접속 및 로그인

  • 브라우저에서 https://gitlab.example.com 접속
  • 기본 관리자 계정: root
  • 초기 비밀번호 확인: /etc/gitlab/initial_root_password (설치 후 24시간 내에 확인 가능)

4. 이메일 구독 설정 (선택 사항)

  • 보안 업데이트 및 GitLab 관련 소식 수신 여부 설정 가능

5. 추천 후속 작업

  • 인증 옵션 및 사용자 가입 제한 설정
  • 추가적인 보안 및 성능 최적화 작업 고려

0개의 댓글