환경 구성


동작 테스트

1. run workflow 기반으로 직접 요청: 동작 가능 확인


2. 붉은색 AgentHQ를 통한 요청: 동작 불가능

동작 불가 사유: AgentHQ에는 workflow dispatch 권한이 빠져 있음.


환경 테스트를 위한 세팅 과정

Azure Portal에 VM을 하나 띄움.

해당 VM에 GitLab를 docker로 설치 (80 포트로 운영)

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 작성

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 허용되어 있는지 확인

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

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


4단계: GitLab 처음 접속 & root 비밀번호

4-1. root 초기 비밀번호 확인

docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

출력 예:

Password: AbCdEfGh... (이걸 복사)

4-2. 브라우저에서 접속

PC 브라우저에서:

  • http://<VM_PUBLIC_IP> 접속

  • Username: root

  • Password: 위에서 확인한 값

로그인 후:

  • 필요하면 root 비밀번호를 새로 변경

  • Timezone, 이메일 등 기본 설정

여기까지 GitLab 기본 인프라 세팅


5. GitLab에 프로젝트 구성

StudySolutionA (Group)
 ├── backend (SubGroup)
 │     ├── echo-api (Project)
 │     └── hello-api (Project)
 ├── frontend (SubGroup)
 │     └── simple-web (Project)
 └── llm (SubGroup)
       └── (나중에 필요하면 추가)



  • 레이블 없음