<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Spring Boot ํ
์คํธ ํ์ด์ง</title>
</head>
<body>
<h1>๐ Spring Boot ์ ์ ํ์ผ ์๋น ์ฑ๊ณต!</h1>
<p>์ด ํ์ด์ง๋ src/main/resources/static/index.html ํ์ผ์
๋๋ค.</p>
</body>
</html>
# ์๋ฐ 17 Amazon Corretto ์ค์น
$ sudo yum install -y java-17-amazon-corretto-devel
# ์๋ฐ ์ค์น ํ์ธ
$ java -version
# โ openjdk 17 ๋ฒ์ ์ด ์ ์์ ์ผ๋ก ์ค์น๋์๋์ง ํ์ธ
# Apache Maven 3.9.12 ๋ค์ด๋ก๋
4. Jenkins๋ฅผ ํ์ฉํ CI/CD ํ๊ฒฝ ๊ตฌ์ฑ - Jenkins ๊ตฌ์ฑ ๋ฐ ์น ์ฑ ๋ฐฐํฌ 1
$ wget https://archive.apache.org/dist/maven/maven-3/3.9.1
2/binaries/apache-maven-3.9.12-bin.tar.gz
# ์์ถ ํด์
$ tar -xvzf apache-maven-3.9.12-bin.tar.gz
# Maven ๋๋ ํฐ๋ฆฌ๋ฅผ /opt ์๋๋ก ์ด๋
$ sudo mv apache-maven-3.9.12 /opt/maven
# JAVA_HOME ํ๊ฒฝ ๋ณ์ ์ค์
$ echo "export JAVA_HOME=/usr/lib/jvm/java-17-amazon-corret
to.x86_64" >> ~/.bashrc
$ echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> ~/.bashrc
$ source ~/.bashrc # ๋ณ๊ฒฝ๋ ํ๊ฒฝ ๋ณ์ ์ ์ฉ
# MAVEN_HOME ํ๊ฒฝ ๋ณ์ ์ค์
$ echo "export MAVEN_HOME=/opt/maven" >> ~/.bashrc
$ echo "export PATH=\$MAVEN_HOME/bin:\$PATH" >> ~/.bashrc
$ source ~/.bashrc # ๋ณ๊ฒฝ๋ ํ๊ฒฝ ๋ณ์ ์ ์ฉ
# ํ๊ฒฝ ๋ณ์ ํ์ธ
$ echo $JAVA_HOME # โ Java ์ค์น ๊ฒฝ๋ก ํ์ธ
$ echo $MAVEN_HOME # โ Maven ์ค์น ๊ฒฝ๋ก ํ์ธ
# Jenkins ์ ์ฅ์ ๋ฑ๋ก
$ sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.je
nkins.io/redhat-stable/jenkins.repo
# Jenkins ๊ณต๊ฐํค ๋ฑ๋ก
$ sudo rpm --import https://pkg.jenkins.io/redhat-stable/je
nkins.io-2023.key
# Jenkins ์ค์น
$ sudo yum install jenkins -y
4. Jenkins๋ฅผ ํ์ฉํ CI/CD ํ๊ฒฝ ๊ตฌ์ฑ - Jenkins ๊ตฌ์ฑ ๋ฐ ์น ์ฑ ๋ฐฐํฌ 2
# systemd ๋ฐ๋ชฌ ์ฌ๋ก๋ (์๋น์ค ์ ๋ณด ๊ฐฑ์ )
$ sudo systemctl daemon-reload
# Jenkins ์๋น์ค ๋ถํ
์ ์๋ ์คํ ์ค์
$ sudo systemctl enable jenkins
# Jenkins ์๋น์ค ์์
$ sudo systemctl start jenkins
# Jenkins ์๋น์ค ์ํ ํ์ธ
$ sudo systemctl status jenkins
# Ctrl + c ๋ก ์ํ ์ข
๋ฃ
# Git ์ค์น
$ sudo yum install git -y
# Jenkins ์ด๊ธฐ ๊ด๋ฆฌ์ ๋น๋ฐ๋ฒํธ ํ์ธ (์น UI ์ต์ด ๋ก๊ทธ์ธ ์ ํ์)
$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
485b492b5f3d456c8aa77499e8476d53
# ๋ง์ฐ์ค ๋๋๊ทธ๋ก ๋น๋ฐ๋ฒํธ ๋ณต์ฌ
# Jenkins ์ ์: ์น ๋ธ๋ผ์ฐ์ ์์ ์๋ ์ฃผ์๋ก ์ ๊ทผ
# Jenkins URL: http://{ํ๋ ฅ์ ์์ดํผ}:8080/
# โ ์์์ ๋ณต์ฌํ ์ด๊ธฐ ๋น๋ฐ๋ฒํธ ์
๋ ฅ โ ๊ด๋ฆฌ์ ๊ณ์ ์์ฑ
sudo dnf install -y https://get.jenkins.io/redhat-stable/jenkins-2.462.3-1.1.noarch.rpm
sed -i 's/java-17-amazon-corretto.x86_64/java-21-amazon-corretto.x86_64/g' ~/.bashrc
source ~/.bashrc
/usr/lib/jvm/java-21-amazon-corretto.x86_64
sudo ssh-keygen -t rsa -f /var/lib/jenkins/.ssh/jenkins_rsa_key
ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
cat ~/.ssh/known_hosts | grep github.com
# /tmp ๋๋ ํ ๋ฆฌ์ tmpfs ํ์ผ ์์คํ
์ ํฌ๊ธฐ 2GB๋ก ์ค์ ํ์ฌ ๋ง์ดํธํ
๋๋ก fstab ํ์ผ์ ์ถ๊ฐ
# fstab ํ์ผ์ ์ค์ ๋ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก /tmp ๋๋ ํ ๋ฆฌ์ tmpfs ํ์ผ
์์คํ
์ ๋ค์ ๋ง์ดํธ
$ echo 'tmpfs /tmp tmpfs defaults,size=2G 0 0' | sudo tee -
a /etc/fstab && sudo mount -o remount /tmp && df -h /tmp
# ๋ฃจํธ ํ์ผ์ swapfile ์์ฑ ํ ๊ถํ ๋ถ์ฌ
$ sudo dd if=/dev/zero of=/swapfile bs=128M count=16
# ๊ธฐ๋ค๋ ค์ผ ํจ
# ์ค์ ํ์ผ(swap file)์ ๊ถํ์ ๋ณ๊ฒฝ
$ sudo chmod 600 /swapfile
4. Jenkins๋ฅผ ํ์ฉํ CI/CD ํ๊ฒฝ ๊ตฌ์ฑ - Jenkins ๊ตฌ์ฑ ๋ฐ ์น ์ฑ ๋ฐฐํฌ 12
# swap ์์ญ ์ค์
$ sudo mkswap /swapfile
# swap ์์ญ์ swapfile ์ถ๊ฐ ์ฌ์ฉ
$ sudo swapon /swapfile
# ํ์ธ
$ sudo swapon -s
# ๋ถํ
์, ์ค์ ํ์ผ์ ์์ํ ์ ์๋๋ก vim ์๋ํฐ๋ก ์์
$ sudo vi /etc/fstab
# vim ์๋ํฐ INSERT๋ i ์
๋ ฅ
# INSERT ๋์ฌ ๋๋ esc ์
๋ ฅ
# ์ ์ฅ ํ ์ข
๋ฃ๋ :wq! ์
๋ ฅ
# ๋ง์ง๋ง ์ค์ ์๋ ์
๋ ฅํ๊ณ ์ ์ฅ ํ ์ข
๋ฃ
/swapfile swap swap defaults 0 0
# ์ถ๊ฐ ๊ณต๊ฐ ํ์ธ
$ sudo free
# ์ฌ์์ ํ์
$ sudo reboot
$ cd /var/lib/jenkins/workspace/Test-Project/target
$ ls
$ sudo nohup java -jar /var/lib/jenkins/workspace/Test-P
roject/target/demo-0.0.1-SNAPSHOT.jar > /home/ec2-user/a
pp.log 2>&1 &
# ์ด ๋ช
๋ น์ด๋ Jenkins์์ ๋น๋๋ Java ์ ํ๋ฆฌ์ผ์ด์
(JAR ํ์ผ)์
์๋ฒ์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํํ๋ฉฐ, ํฐ๋ฏธ๋ ์ธ์
์ด ์ข
๋ฃ๋์ด๋ ๊ณ์ ์คํ
๋๋๋ก(๋ฐ๋ชฌํ) ๋ก๊ทธ๋ฅผ ํน์ ํ์ผ์ ์ ์ฅํ๋ ํ์ค์ ์ธ ๋ฐฐํฌ ๋ช
๋ น์
๋
๋ค.
# ๋ก๊ทธ ์ค์๊ฐ ํ์ธ
tail -f /home/ec2-user/app.log
# ๋ก๊ทธ ๋ง์ง๋ง 100์ค๋ง ํ์ธ
tail -n 100 /home/ec2-user/app.log
# ๋ก๊ทธ ์ ์ฒด ํ์ธ
cat /home/ec2-user/app.log
sudo nohup java -jar /var/lib/jenkins/workspace/Test-Project/target/demo-0.0.1-SNAPSHOT.jar > /home/ec2-user/app.log 2>&1 &
tail -n 100 /home/ec2-user/app.log
'๊ต์ก' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| 26๋ 5์ 31์ผ jenkins๋ฅผ ํ์ฉํ CI/CD ํ๊ฒฝ ๊ตฌ์ฑ 2์ผ์ฐจ (0) | 2026.05.31 |
|---|---|
| 26๋ 5์ 30์ผ jenkins ๊ต์ก 1์ผ์ฐจ (0) | 2026.05.30 |
| n8n ์ค์ต :๋ค์ด๋ฒ ์ปค๋ฅํธ ๋ผ์ด๋ธ์ธ๋ฏธ๋, ์ ์๋ฏผ ๊ฐ์ฌ๋ : 2์ฃผ์ฐจ(์๊ฒฐ) (0) | 2026.04.22 |
| n8n ์ค์ต :๋ค์ด๋ฒ ์ปค๋ฅํธ ๋ผ์ด๋ธ์ธ๋ฏธ๋, ์ ์๋ฏผ ๊ฐ์ฌ๋ (0) | 2026.04.15 |
| pip๊ณผ !pip์ ์ฐจ์ด (1) | 2023.10.18 |