인프라/CI-CD

젠킨스와 깃랩을 활용한 스프링부트 자동배포(1) - 환경 구축

2023. 3. 15. 15:08
글 목차


728x90

<목차>

https://okane-on-cliff.tistory.com/266

 

<본문>

해야 할 일은 다음과 같다.
1. GIT LAB에 배포할 스프링부트 프로젝트 만들기
2. EC2 만들기 및 EC2 환경 구축

이 장은 쉬운 부분이거나 복붙이 대부분이기 때문에 빠르게 넘어간다.

 

1. GIT LAB에 배포할 스프링부트 프로젝트 만들기

이미 만들어 뒀다. GIT LAB URL : https://lab.ssafy.com/siganshoyou/superex.git

 

2. ec2 설치 및 환경 구축

해야할 일은 다음과 같다.

0. EC2를 만든다
1. 먼저 EC2 프리티어의 가상메모리를 확보한다.
2. EC2에 docker를 설치한다
3. EC2에 젠킨스 컨테이너를 실행한다.

 

(0) EC2를 만든다.

그냥 프리티어로 만들면 됨

 

(1) 먼저 EC2  프리티어의 가상메모리를 확보한다.

putty로 ec2를 켜서 아래 명령어를 친다.

sudo dd if=/dev/zero of=/swapfile bs=128M count=16
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon -s
sudo vi /etc/fstab
/swapfile swap swap defaults 0 0

free -h 명령어로 swap 메모리가 2.0Gi 가 생겼는 걸 확인한다.

 

(2) EC2에 docker를 설치한다.

ec2에 다음 명령어를 입력한다.

sudo apt-get update

sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
    
sudo mkdir -m 0755 -p /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  
  sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  
  sudo docker run hello-world

hello-word가 출력되면 잘 된거고 영어로 correlty 어쩌고 하면서 성공했다는걸 알려준다.

 

(3) EC2에 젠킨스 컨테이너를 실행한다.

ec2에 다음 명령어를 친다.

mkdir compose

sudo apt install docker-compose

vi docker-compose.yml

이후 에디터가 뜨면 다음을 입력한다 

version: "3"
services:
  jenkins:
    image: jenkins/jenkins:lts
    container_name: ubuntu_jenkins
    user: root
    volumes:
      - /var/jenkins_home:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 7777:8080

i는 입력모드로 들어가는 명령어고 esc로 입력모드를 빠져나와 :wq로 저장후 vi 에디터를 종료할 수 있다.

 

cat docker-compose.yml 명령어를 사용하면 편집된 결과를 확인할 수 있다.

 

sudo su 명령어로 항상 root권한으로 명령어를 수행하도록 한다음

 

docker-compose up -d 를 통해 젠킨스 컨테이너를 돌리면

 

http://ec2 아이피주소:7777/ 에서 젠킨스 웹페이지가 실행되면 성공이다.

 

이후 별거없이 젠킨스가 유도하는 대로 설치를 계속해주어 대쉬보드로 향하자

 

일단 파이프라인으로 new Item을 만든 후 hello world 스크립트를 build 해 보았다.

 

728x90
젠킨스와 깃랩을 활용한 스프링부트 자동배포(1) - 환경 구축