버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

...

Self-hosted runner를 설치 (host 다이렉트 설치)


1단계: Ubuntu 24.04 기본 세팅

1-1. 패키지 업데이트

sudo apt update sudo apt upgrade -y

(필요하면 재부팅)

sudo reboot

다시 접속 후:

uname -a lsb_release -a # 24.04 확인용

...

2단계: Docker & docker-compose 설치

2-1. Docker 설치

sudo apt install -y ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo $VERSION_CODENAME) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

2-2. 도커 권한 & 서비스 확인

sudo usermod -aG docker $USER newgrp docker docker version docker run hello-world

hello-world 까지 잘 나오면 OK.

...

3단계: GitLab CE 컨테이너로 설치

여기서는 단일 컨테이너 Omnibus GitLab CE로 갈게.
VM에서 GitLab용 디렉터리 하나 만들자:

mkdir -p ~/gitlab/{config,logs,data}

cd ~/gitlab

3-1. docker-compose.yml 작성

~/gitlab/docker-compose.yml 생성:

cat << 'EOF' > docker-compose.yml version: "3.8" services: gitlab: image: gitlab/gitlab-ce:latest container_name: gitlab restart: always hostname: gitlab.local environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://YOUR_VM_PUBLIC_IP' gitlab_rails['gitlab_shell_ssh_port'] = 2222 ports: - "80:80" - "443:443" - "2222:22" volumes: - ./config:/etc/gitlab - ./logs:/var/log/gitlab - ./data:/var/opt/gitlab EOF

YOUR_VM_PUBLIC_IP 부분은 실제 Azure VM Public IP로 수정해줘.

3-2. Azure NSG / 방화벽 확인

Azure 포털에서 이 VM에 대해:

  • 인바운드 규칙에 80/tcp, 443/tcp, 2222/tcp 허용되어 있는지 확인

  • (테스트만 하면 80/2222만 열어도 됨)

3-3. GitLab 컨테이너 실행

cd ~/gitlab docker compose up -d

docker ps

GitLab 컨테이너가 healthy 상태 되기까지 3~5분 정도 걸릴 수 있음.
상태 확인:

docker logs -f gitlab

코드 블럭
studydev@op-gitlab:~/gitlab$ docker ps
CONTAINER ID   IMAGE                     COMMAND                  CREATED          STATUS                    PORTS                                                                                                                   NAMES
3a566db72c5b   gitlab/gitlab-ce:latest   "/assets/init-contai…"   20 minutes ago   Up 20 minutes (healthy)   0.0.0.0:80->80/tcp, [::]:80->80/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp, 0.0.0.0:2222->22/tcp, [::]:2222->22/tcp   gitlab