
사내 프로젝트에서 Gitlab과 Jenkins를 통한 CI/CD를 도입하게 되었다.
Docker, Docker compose부터 처음하는 것들이라 공부하는 내용을 기록하고자 한다.
$ sudo dnf update -y
$ reboot
$ sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
$ sudo dnf install -y docker-ce
$ sudo dnf install docker-ce
$ sudo setenforce 0 //selinux 방화벽 해제
$ sudo systemctl start docker
$ sudo systemctl enable docker
$ sudo systemctl status docker
$ sudo usermod -aG docker $USER //도커 사용자 설정
$ sudo dnf install -y curl
$ sudo curl -L "https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
$ docker-compose --version
docker-compose version 2.7.0
$ docker pull jenkins/jenkins:lts
$ docker run -d -p 8181:8080 --restart=always --name jenkins -u root jenkins/jenkins:lts

$ docker logs jenkins
version: '3.7'
gitlab:
image: 'gitlab/gitlab-ce:latest'
restart: always
hostname: '{서버IP}'
container_name: gitlab
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://{서버IP}'
ports:
- '9000:80'
- '1022:22'
- '443:443'
volumes:
- '~/gitlab/config:/etc/gitlab'
- '~/gitlab/logs:/var/log/gitlab'
- '~/gitlab/data:/var/opt/gitlab'
- '~/gitlab/backups:/var/opt/gitlab/backups'
$ docker-compose up -d
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
$ sudo firewall-cmd --permanent --add-port=9090/tcp
$ sudo systemtctl reload firwalld


- 빌드유발
체크 해주고, 고급에서 secret-token을 generate해준다. → gitlab webhook 등록하는데 사용됨
위의 경로와 secret-token을 등록해준다.
다음 시간에는 Jenkins에서 WAR 파일 빌드하고 SSH 통신을 통해 파일을 넘겨 자동 배포하는 포스트를 다뤄보겠습니다.
멋있습니다!!