글 목차
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