Day 15
EC2์์ ํ๋ก์ ํธ Clone ๋ฐ๊ธฐ
๊นํ๋ธ์์ ์ฝ๋๋ฅผ ๋ฐ์์ฌ ์ ์๋๋ก EC2์ ๊น์ ์ค์น
์ค์นํ๋ฉด git โversion์ผ๋ก ์ค์น ์ํ๋ฅผ ํ์ธ ํ ๋ค์
git clone์ผ๋ก ํ๋ก์ ํธ๋ฅผ ์ ์ฅํ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ์
์์ฑ ํ
์ด๋ ํ ํ๋ก์ ํธ๋ฅผ ๋ค์ด๋ฐ์
๋ค์ด ๋ฐ๊ณ ๋์
๋ก ํ ์คํธ๊ฐ ์ ๋๋์ง ํ์ธ์ ํด๋ด์ผํ๋๋ฐ.... ์ด๊ฒ ์๋๋น
์ด๊ฒ๋ญ Permission denied๊ฐ ์๋๋ฉด
๋ญ ์ด๋ ๊ฒ ํด์ ํด๋ณด๋ผ๋๋ฐ ์ผ๋จ ํ ์คํธ๊ฐ ์๋...
์๋๋๋๋ก ์ผ๋จ์ ์งํํด๋ณด์
๋ฐฐํฌ ์คํธ๋ฆฝํธ ๋ง๋ค๊ธฐ
๋ฐฐํฌ : ์์ฑํ ์ฝ๋๋ฅผ ์ค์ ์๋ฒ์ ๋ฐ์ํ๋ ๊ฒ
git clone ํน์ git pull์ ํตํด ์ ๋ฒ์ ์ ํ๋ก์ ํธ๋ฅผ ๋ฐ์
gradle์ด๋ maven์ ํตํด ํ๋ก์ ํธ ํ ์คํธ์ ๋น๋
EC2 ์๋ฒ์์ ํด๋น ํ๋ก์ ํธ ์คํ ๋ฐ ์ฌ ์คํ
์ด 3๊ฐ์ง์ ๊ณผ์ ์ ๋ชจ๋ ํฌ๊ดํ๋ ์๋ฏธ
์ด๋ฌํ ๊ณผ์ ๋ค์ ๋ฐฐํฌํ ๋๋ง๋ค ๊ฐ๋ฐ์๊ฐ ํ๋ํ๋ ๋ช ๋ น์ด๋ก ์คํํ๋ ๊ฒ์
๋นํจ์จ์
๊ทธ๋์ ์ด๊ฒ์ ์ ์คํฌ๋ฆฝํธ๋ก ์์ฑํด์ ์คํฌ๋ฆฝํธ๋ง ์คํํ๋ ๊ณผ์ ์ผ๋ก ์งํํ ๊ฒ
์ก ์คํฌ๋ฆฝํธ๋ .sh ํ์ผ ํ์ฅ์๋ฅผ ๊ฐ์ง๋ ํ์ผ
vim์ ์ฌ์ฉ
์ด๊ฑธ๋ก ํ์ผ์ ์์ฑ
vim์ ๊ฐ๋จํ ํํ ๋ฆฌ์ผ - http://bit.ly/2Q3BpvZ
REPOSITORY=/home/ec2-user/app/step1
ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ ์ฃผ์๋ ์คํฌ๋ฆฝํธ ๋ด์์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ์ด๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ๋ณ์๋ก ์ง์
๋ง์ฐฌ๊ฐ์ง๋ก PROJECT_NAME=freelec-springboot2-webservice๋ ๋์ผํ๊ฒ ๋ณ์๋ก ์ ์ฅ
์์์๋ ํ์ ์์ด ์ ์ธํ์ฌ ์ ์ฅ
์์์๋ $ ๋ณ์๋ช ์ผ๋ก ๋ณ์๋ฅผ ์ฌ์ฉํ ์ ์์
cd $REPOSITORY/$PROJECT_NAME/
์ ์ผ ์ฒ์ git clone ๋ฐ์๋ ๋๋ ํ ๋ฆฌ๋ก ์ด๋
๋ฐ๋ก ์์ ์ ๋ณ์ ์ค๋ช ์ ๋ฐ๋ผ์ /home/ec2-user/app/step1/jojo-spring-boot ์ฃผ์๋ก ์ด๋
git pull
๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ ํ, master ๋ธ๋์น์ ์ต์ ๋ด์ฉ์ ๋ฐ์
./gradlew build
ํ๋ก์ ํธ ๋ด๋ถ์ gradlew๋ก build๋ฅผ ์ํ
cp ./build/libs/*.jar $REPOSITORY
build์ ๊ฒฐ๊ณผ๋ฌผ์ธ jarํ์ผ์ ๋ณต์ฌํด jar ํ์ผ์ ๋ชจ์๋ ์์น๋ก ๋ณต์ฌ
CURRENT_PID=$(pgrep -f springboot-webservice)
๊ธฐ์กด์ ์ํ ์ค์ด๋ ์คํ๋ง ๋ถํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ข ๋ฃ
pgrep์ process id๋ง ์ถ์ถํ๋ ๋ช ๋ น์ด
-f ์ต์ ฅ์ ํ๋ก์ธ์ค ์ด๋ฆ์ผ๋ก ์ฐพ๋๋ค
if ~else ~fi
ํ์ฌ ๊ตฌ๋์ค์ธ ํ๋ก์ธ์ค๊ฐ ์๋์ง ์๋์ง ํ๋จํด์ ๊ธฐ๋ฅ์ ์ํ
process id ๊ฐ์ ๋ณด๊ณ ํ๋ก์ธ์ค๊ฐ ์์ผ๋ฉด ํด๋น ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ
JAR_NAME=$(ls -tr $REPOSITORY/ | grep jar | tail -n 1)
์๋ก ์คํํ jar ํ์ผ๋ช ์ ์ฐพ๋๋ค
์ฌ๋ฌ jar ํ์ผ์ด ์๊ธฐ๊ธฐ ๋๋ฌธ์ tail -n๋ก ๊ฐ์ฅ ๋์ค์ jarํ์ผ์ ๋ณ์์ ์ ์ฅ
nohup java -jar $REPOSITORY/$JAR_NAME 2>&1 &
์ฐพ์ jar ํ์ผ๋ช ์ผ๋ก ํด๋น jar ํ์ผ์ nohup์ผ๋ก ์คํ
์คํ๋ง ๋ถํธ์ ์ฅ์ ์ผ๋ก ํน๋ณํ ์ธ์ฅ ํฐ์บฃ์ ์ค์นํ ํ์๊ฐ ์์
๋ด์ฅ ํฐ์บฃ์ ์ฌ์ฉํด์ jar ํ์ผ๋ง ์์ผ๋ฉด ๋ฐ๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ฅผ ์คํํ ์ ์์
์ผ๋ฐ์ ์ผ๋ก ์๋ฐ๋ฅผ ์คํํ ๋๋ java -jar๋ผ๋ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ง๋ง, ์ด๋ ๊ฒ ํ๋ฉด ์ฌ์ฉ์๊ฐ ํฐ๋ฏธ๋ ์ ์์ ๋์ ๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ ๊ฐ์ด ์ข ๋ฃ๋จ
์ ํ๋ฆฌ์ผ์ด์ ์คํ์๊ฐ ํฐ๋ฏธ๋์ ์ข ๋ฃํด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ณ์ ๊ตฌ๋๋ ์ ์๋๋ก nohup ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉ
์... ์๋ฌ๊ฐ ๊ณ์ ๋์ ์ฐพ๋ ๋์ค์, ์ ์คํฌ๋ฆฝํธ์์ ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํ ๋, if - else - fi ๋ฌธ์ ์ฌ์ฉ์,
if ๋๊ณ [ ๋๊ณ ์กฐ๊ฑด๋ฌธ ๋๊ณ ] ๊ทธ๋ฆฌ๊ณ then์ด๋ ๊ฒ ์งํํด์ผํ๋ค!!!!!!!
๋ด ํ๋ก์ ํธ์๋ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ํ๋จ๋์ ๊ทธ๋ฅ ์งํํ๋ ํ๋ก์ ํธ ํ์ผ ๋ง๊ณ jojo๋ ๋ธ๋ก๊ทธ์์ ํ๋ก์ ํธ๋ฅผ ๋ค์ด๋ฐ์์ ์งํํด๋ด...
๋ง์ฝ ๊ธฐํ๊ฐ ๋๋ฉด ๋ฐ์ ๋ธ๋ก๊ทธ๋ฅผ ๋ณด๋ฉด์ ๋ณ๊ฒฝํด๋ณด์!~
์ต์ ์ฝ๋๋ก ๋ณ๊ฒฝํ๊ธฐ : https://jojoldu.tistory.com/539
Last updated
Was this helpful?