2021. 4. 30. 15:44ใ๐ฑ Develop/devOps
์์ง ec2์ docker, docker-compose ๊ฐ ์ค์น๋์ด์์ง ์๋ค๋ฉด ๋ค์ ํฌ์คํ ์ ๋จผ์ ์ฐธ๊ณ ํด์ฃผ์ธ์!
2021.04.30 - [๐ฑ Develop/devOps] - ๐ณ EC2์ docker , docker-compose ์ค์นํ๊ธฐ
๐ณ 1) EC2์ docker ์ด๋ฏธ์ง๋ก Jenkins ์ค์นํ๊ธฐ
- ํ๊ฒฝ: ec2 ํ๋ฆฌํฐ์ด / linux
ec2 ์์ฒด์ jenkins๋ฅผ ๋ฐ๋ก ์ค์นํ ์๋ ์์ง๋ง, docker image๋ก jenkins๋ฅผ ๋ฐ์์์ ์ฌ์ฉํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ์ผ๋จ mkdir jenkins-dockerfile
๋ก ํด๋๋ฅผ ๋ง๋ค์ด์, ์ด ํด๋ ๋ฐ์ Dockerfile์ ํ๋ ์์ฑํด์ฃผ์ธ์. jenkins ์ต์ ์ด๋ฏธ์ง๋ฅผ ๋ฐ์์ค๋ Dockerfile์
๋๋ค.
๐ home/ec2-user/compose/jenkins-dockerfile/Dockerfile
FROM jenkins/jenkins:lts
USER root RUN apt-get update &&\
apt-get upgrade -y &&\
apt-get install -y openssh-client
๊ทธ ๋ค์์ docker-compose.yaml ํ์ผ๋ก jenkins ์ด๋ฏธ์ง๋ฅผ ๋น๋ํด์ค๋๋ค.
๐ home/ec2-user/compose/docker-compose.yml
1 version: "3"
2 services:
3 jenkins:
4 container_name: jenkins-compose // ์ปจํ
์ด๋ ๋ช
์ง์
5 image: jenkins/jenkins:lts // docker hub์์ ๋ฐ์์จ ์ด๋ฏธ์ง
6 # build:
7 # context: jenkins-dockerfile // ์๊น ์์ฑํ Dockerfile ๊ธฐ๋ฐ์ผ๋ก ๋น๋
8 # dockerfile: Dockerfile
9 user: root
10 ports:
11 - "9090:8080" // 8080์ springboot์ ๊ฒน์น๋ฏ๋ก 9090์ผ๋ก ์ค์
12 volumes:
13 - /home/ec2-user/compose/jenkins:/var/jenkins_home
14 - /home/ec2-user/compose/.ssh:/root/.ssh
ํด๋น ํ์ผ์ ์ ์ฅํ๊ณ docker-compose.yml ํ์ผ์ด ์๋ ์์น์์ docker-compose up ์ ํ๋ฉด jenkins๋ฅผ ์คํํ ์ ์์ต๋๋ค.
์ด์ ec2์์ docker logs ์ปจํ ์ด๋ ๋ช ์ผ๋ก Jenkins์ ์ด๊ธฐ ๋น๋ฐ๋ฒํธ๋ฅผ ์ป๊ณ ,
ec2 ip ์ฃผ์:8080์ ์ ๋ ฅํ๋ฉด Jenkins ํ๋ฉด์ด ๋์ต๋๋ค. ์ด ๋ ์ด๊ธฐ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๊ณ ํ๋ฌ๊ทธ์ธ ์ค์น ํ๋ฉด์ ๋๊ธฐ๋ฉด, user ์ ๋ณด ์ ๋ ฅ์ผ๋ก ๋์ด๊ฐ๋๋ค. user ์ ๋ณด๊น์ง ์ ๋ ฅํ๊ณ ๋๋ฉด Jenkins ์ ์ฑ ์๋ฃ!
โ๏ธjenkins > ๊ด๋ฆฌ์ ํ์ด์ง์์ ์ญ๋ฐฉํฅ ํ๋ก์๊ฐ ์๋ชป๋์๋ค๋ ๋ฌธ๊ตฌ๊ฐ ๋ํ๋ ๊ฒฝ์ฐ
jenkins URL์ด ์๋ชป ์ค์ ๋ ๊ฒ์ ๋๋ค. ์ค์ ๋ธ๋ผ์ฐ์ ์์ ์ ์ํ๋ url๋ก ์ค์ ํด์ผํ๋ฏ๋ก, ec2๋ก ์ ์ํ๋ค๋ฉด http://ec2 ip ์ฃผ์:8080 ๊ฐ ๋์ด์ผ ํฉ๋๋ค.