CI/CD(1) : gitlab-ce 설치 및 구성

NOHHYEONGJUN·2024년 9월 10일

CI/CD

목록 보기
2/15

1. docker 설치

ubuntu는 arm64 환경에서 진행

Amazon Linux

sudo yum update -y
sudo yum install docker -y
sudo service docker start
sudo usermod -aG docker ec2-user

 

Ubuntu

sudo apt-get update

sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

echo "deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update 

sudo systemctl start docker
sudo systemctl enable docker

sudo usermod -aG docker $user

 

 


2. docker-compose 설치

Amazon Linux

sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep 'tag_name' | cut -d\" -f4)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

 

Ubuntu

sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

 

 


3. docker-compose.yaml 작성

Amazon Linux

version: '3.6'
services:
  gitlab:
    image: 'gitlab/gitlab-ce:latest'
    container_name: gitlab
    restart: always
    hostname: 'gitlab.example.com'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab.example.com'
    ports:
      - "8080:80"
      - "1922:22"
      - "19443:443"

    volumes:
      - '$HOME/ec2-user/gitlab/config:/etc/gitlab'
      - '$HOME/ec2-user/gitlab/logs:/var/log/gitlab'
      - '$HOME/ec2-user/gitlab/data:/var/opt/gitlab'

 

Ubuntu

version: '3.6'
services:
  gitlab:
    image: 'zengxs/gitlab:latest'
    container_name: gitlab
    restart: always
    hostname: 'gitlab.example.com'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab.example.com'
    ports:
      - "8080:80"
      - "1922:22"
      - "19443:443"

    volumes:
      - '$HOME/UserName/gitlab/config:/etc/gitlab'
      - '$HOME/UserName/gitlab/logs:/var/log/gitlab'
      - '$HOME/UserName/gitlab/data:/var/opt/gitlab'
      

 

 


4. gitlab 접속

1. VPN 사용 시

http://PrivateIP:8080

 

2. Tunneling 사용 시

http://localhost:8080

 

3. 로컬 가상 머신 사용 시

http://가상머신IP:8080

 

 


5. gitlab 초기 비밀번호 확인

docker exec -it gitlab /bin/bash

cat /etc/gitlab/initial_root_password

 

 


6. Local IP 접속 허용

Jenkins도 private IP를 사용하므로 꼭 설정 해주어야 함!
(이걸 못 찾아서 엄청난 삽질을..)

 

1. Adim Area (Settings, Network 접속)

 

2. Allow request to the local network from webhooks and integrations 선택 및 저장


 

 


Amazon Linux에서 yum update, docker install 실패 시,

 

NAT가 없어 인터넷 통신이 안되기 때문!

→ Public Subnet에 NAT를 추가


profile
Cloud/DevOps & Network Virtualization에 관심 있는 대학생입니다. 🐳

0개의 댓글