
sudo wget -O /etc/yum.repos.d/jenkins.repo <https://pkg.jenkins.io/redhat-stable/jenkins.repo>
sudo rpm --import <https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key>
sudo yum upgrade -y
sudo yum install -y fontconfig jenkins
sudo vi /lib/systemd/system/jenkins.service
# 70~72์ค: 8080 โ 9090 ์์
sudo systemctl daemon-reload
sudo systemctl start jenkins
sudo systemctl status jenkins
http://[EC2-IP]:9090cat /var/lib/jenkins/secrets/initialAdminPassword
sudo vi /etc/fstab
์ถ๊ฐ:
tmpfs /tmp tmpfs size=5g,mode=1777 0 0
sudo mount -a
# ์ ์ฉ๋์ง ์์ผ๋ฉด ์ฌ๋ถํ
sudo reboot
alternatives --config java
# ์: /usr/lib/jvm/java-21-amazon-corretto.x86_64/
Jenkins > Global Tool Configuration > JDK
โ ์๋ ์ค์น โ ํด์ , ์ ๊ฒฝ๋ก๋ฅผ JAVA_HOME์ ์๋ ์
๋ ฅ
8.14gradle-wrapper.properties ํ์ธ ํ ์ผ์น์ํดGradle PluginGitHub IntegrationPost Build TaskSettings > Developer Settings > Personal Access Token (classic)Add โ Kind: Secret Text โ ํ ํฐ ๋ถ์ฌ๋ฃ๊ธฐInvoke Gradle Script8.14clean build
gradlew๊ฐ ํ์ ํด๋์ ์์ด ๋น๋ ์คํจJenkins > ๊ตฌ์ฑ > ๋น๋ ํ ์กฐ์น โ Post build task โ ์๋ ์คํฌ๋ฆฝํธ ๋ฑ๋ก
#!/bin/bash
JAVA_COMMAND="java -jar"
JAR_PATH="/var/lib/jenkins/workspace/DEPLOY_TEST_SPRINGONLY/build/libs/demo-0.0.1-SNAPSHOT.jar"
TARGET_PID=$(pgrep -f "$JAVA_COMMAND $JAR_PATH")
if [ -z "$TARGET_PID" ]; then
echo "ํด๋น ํ๋ก์ธ์ค๊ฐ ์ด๋ฏธ ์ข
๋ฃ๋์์ต๋๋ค."
else
echo "ํ๋ก์ธ์ค $TARGET_PID ์ข
๋ฃ ์ค..."
kill -9 "$TARGET_PID"
if ps -p "$TARGET_PID" > /dev/null; then
echo "์ข
๋ฃ ์คํจ"
else
echo "์ข
๋ฃ ์ฑ๊ณต"
fi
fi
# ์ ํ๋ฆฌ์ผ์ด์
์คํ (๋ก๊ทธ ํ์ผ ๋ถ๋ฆฌ ์ ์ฅ)
nohup java -jar $JAR_PATH > /var/log/springboot-app.log 2>&1 &
๐ ์ฐธ๊ณ : /var/log/springboot-app.log ์ ๋ก๊ทธ ์ ์ฅ๋จ
Secret text๋ก ์ ์ฅํ๊ณ , ์ ๋ ๊ณต๊ฐ ์ ์ฅ์์ ๋
ธ์ถ๋์ง ์๋๋ก ์ฃผ์| ํฌํธ | ์ฉ๋ | ์ค๋ช |
|---|---|---|
8080 | Spring Boot ์ ํ๋ฆฌ์ผ์ด์ | ์ฌ์ฉ์ ์ ๊ทผ (์๋น์ค ํฌํธ) |
9090 | Jenkins ์น UI | ์ด์์ ์ ์์ฉ CI ๊ด๋ฆฌ ํฌํธ |
9090, Spring Boot๋ 8080 ํฌํธ ์ฌ์ฉ