์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- axios
- nodejs
- Spring
- AWS EC2
- AWS
- error
- ngrok
- React
- Express
- springboot
- Troubleshooting
- fastapi
- MongoDB
- MUI
- RDS
- docker
- github
- TypeScript
- 500
- EC2
- Jenkins
- js
- webhook
- deploy
- linux
- Github Actions
- macbook
- javascript
- Java
- python
- Today
- Total
BEAT A SHOTGUN
[PROJECT] ๋ฐฐํฌ์ ์์ - Jenkins ์ค์นํ๊ธฐ๋ถํฐ EC2์ ๋น๋๊น์ง ๋ณธ๋ฌธ
[PROJECT] ๋ฐฐํฌ์ ์์ - Jenkins ์ค์นํ๊ธฐ๋ถํฐ EC2์ ๋น๋๊น์ง
thovy 2022. 11. 29. 04:16์์ ๐
์ผ๋จ ๋ก์ปฌ์ ์ ํจ์ค๋ฅผ ๋ฐ์์ ์ค์ ํด๋ณด์.
์ ํจ์ค ๋ค์ด๋ก๋ ์ค
์ ๊ทธ๋ฐ์ง ๋ชฐ๋ผ๋ 30๋ถ๊ฑธ๋ฆผ ์๋ฒ๋ 3๋ฒ์ด๋ ๋๊น.
์ค์น ๋
์ ํจ์ค
์คํ
localhost:5000
์ ๋ค์ด๊ฐ๋ฉด
ํ 2๋ถ ์ ๋ ๊ธฐ๋ค๋ ค์ฃผ๋ฉด ์ด๋ฐ๊ฒ ๋์ค๋๋ฐ
๋นจ๊ฐ๊ธ์๋ก ์ ํ ํด๋์ ๋ค์ด๊ฐ๋ฉด
์ด๋ ๊ฒ ์๋ค.
Password
ํ์ผ์ ๋ฉ๋ชจ์ฅ์ผ๋ก ์ด๋ฉด ๋งค์ฐ ๊ฐ๋จํ ๋น๋ฐ๋ฒํธ๊ฐ ์๊ณ ๋ณต๋ถํด์ ์ฌ์ดํธ์ ๋ฃ์ด์ฃผ์.
EC2 ์์ ํ ๋๋ ๋ ๋ค๋ฅธ ๊ฒฝ๋ก๋ฅผ ์๋ ค์ค๊ฑฐ๋ค. ๊ทธ๊ฑด ์กฐ๊ธ ์๋ค๊ฐ EC2 ํ ๋ ๋ค์ ์์๋ณด์. ์ฐ๋ฆฌ๋ ์ผ๋จ ๋ก์ปฌ์์ ํด๋ณด๊ณ ์ค์ ์ด ์ ๋๋ ๋ณด๋ ค๊ณ ํ๋๊ฑฐ๋๊ป ์ผ๋จ ใฑ
๊ทธ๋ฌ๋ฉด ํ์ด์ง๊ฐ ๋ฐ๋๋ฉด์ ํ๋ฌ๊ทธ์ธ ์ค์นํ๋ฉด์ด ๋์ค๋๋ฐ ์ฐ๋ฆฐ ๋ชจ๋ฅด๋๊น ์ผ๋จ ํด์ฃผ์.
์๊ฐ๋ณด๋ค ์ค๋๊ฑธ๋ฆผ
์ด๊ฑฐ๋ ์ฐ๋ฆฌ๊ฐ ์ด์ ์ ํจ์ค์ ์ ์ํ ๋ ์ฌ์ฉํ ์์ด๋์ ๋น๋ฐ๋ฒํธ๋ค.
์ ์ํ ํฌํธ๋ฒํธ๋ฅผ ์ฐ์. 3000 ๊ณผ 8080 ์ฌ์ด๋ฅผ ์ผ๋ค.
๋ณธ๊ฒฉ์ ์ธ ์ ํจ์ค ์ค์
์๋ก์ด item
diary-back ์ด๋ผ๊ณ ์ด๋ฆ์ ์ ํ๊ณ
๋ค์ด๊ฐ๋ฉด
๊นํ๋ธ ํ๋ก์ ํธ ์ณ
์ด๋ฆ์ ์ ํ๋ผ๋๊ฑด ๋์ค์ํ์.
์ฐ๋ฆฌ๋ ๊ฐ๊ธธ์ด ๋ฉ๊ธฐ ๋๋ฌธ์
๋งค์ฐ ๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ง ํด๋์.
์์ด๋ชป์ฝ์ด์๋ญ์ง๋ชจ๋ฅด๊ณ ๊ทธ๋ฐ๊ฑฐ์๋์๋ฌดํผ์๋
์ด๋ฐ ๊ฒ๋ ์ฒดํฌํด์ ์ค์ ํ๋ฉด ์ข์ง๋ง, ์ค์ํ ๊ฒ ์๋.
์ผ๋จ ์์ค ์ฝ๋ ๊ด๋ฆฌ
์์ Git
์ ์ ํํด ์ฐ๋ฆฌ์ ์์ค์ฝ๋๊ฐ ์ด๋์ ์๋์ง ์๋ ค์ฃผ์
๊นํ๋ธ ๋ ํฌ ์ฃผ์๊ฐ ์๋๋ผ. ์ฃผ์๋ ์ ์์ ํ๋ก์ ํธ ์ฒดํฌํ๊ณ ์ ์๊ฑฐ๊ณ , ์์ค์ฝ๋๋
์ด๊ฑฐ๋ค
๊ทธ ๋ค์ ์ด๋ค ๋ธ๋ฐ์น๋ฅผ ๋น๋ํ ๊ฑด์ง ์ ์ด๋ฃ์.
๊ทธ๋ค์ ์ด๋ฐ๊ฑฐ ๋ค ๋์ค์ํฉ์๋ค.
Build Steps
, ๋น๋ ํ ์กฐ์น
๋ค ๊ฑด๋๋ฐ๊ณ
์ผ๋จ! ๋ง๋ค์ด๋ด.
๋๋ ์๋๋.์ ์ฅ
ํ๊ณ
์ง๊ธ ๋น๋ ํด๋ฆญ
์ฑ๊ณตํ๋ฉด ์ด๋ ๊ฒ ๋๋ค.
์ฌ์ฌํ๋๊น ์ฐ๋ฆฌ ๊นํ๋ธ๋ฅผ ์ ๋น๊ฒจ์๊ตฌ๋ ํ์ธ๋ํด์ฃผ๊ณ
์! ๊ฐ์ ๋ค์์ผ๋ก
maven ์ค์นํ๊ธฐ
๊น ํ๋ก์ ํธ๋ฅผ ๊ฐ์ ธ์จ๋ค๊ณ ๋ค๊ฐ ์๋์ง.
๋์๋ณด๋๋ก๊ฐ์
Global Tool Configuration
ํด๋ฆญ
๋ค ํ์์๊ณ ์ ์ผ ๋ฐ์ maven
์ฐ๋ฆฌ๋ ๋ฉ์ด๋ธ์ด๋๊น.
์ฐ๋ฆฌ ํ๋ก์ ํธ์ maven ๋ฒ์ ์ ๋ง๊ฒ maven
๋ฒ์ ์ ์ค์ ํด์ฃผ๊ณ ์ธ์คํจ ์คํ ๋ฉํฐํด๋ฆฌ
ํด์ค๋ค. ์ค์ ์ด๋ฆ์ ์๋ฌด๊ฑฐ๋ ํด๋ ๋๋ค ์ฐ๋ฆฌ๊ฐ ์ ํ๋ ๊ฑฐ๋๊น.
Save
ํ๊ณ
๋ค์ ์ฐ๋ฆฌ์์ดํ
์ผ๋ก ๊ฐ์ ๊ตฌ์ฑ
Build Steps
๋ฅผ Default
๋ฅผ ์ฐ๋ฆฌ๊ฐ ์กฐ๊ธ ์ ์ ์ค์ ํ๋ mavensetting
์ผ๋ก ๋ฐ๊ฟ์ฃผ์.
Goals
์๋clean package -D maven.test.skip=true
๋ผ๊ณ ์ ์ด์ค๋ค.
์์ด๊ทธ๋๋ก ํ
์คํธ ์๋ตํ๊ฒ ๋จ๊ฑฐ๋ค.Save
ํ๊ณ ์ง๊ธ ๋น๋
ํ๋ฉด ์ ๋ ๊ฑฐ๋ค.
์ค์น ์์์๊ฐ...
๋งค์ฐ๋งค์ฐ ์ค๋๊ฑธ๋ฆฐ๋ค.
์ด์ EC2
์ ์ ํจ์ค๊น๊ณ ์ด๋๋ก ํด๋ณด๋ฉด ๋ฐฐํฌ๋๊ฒ ๋ค.
EC2 ์ ์ ํจ์ค ์ค์นํ๊ธฐ
ec2 ๋ linux ๋ก ๋ง๋ค๋ฉด๋๋ค.
์ค๋น๋ฌผ์ EC2
, EC2 ๋ง๋ค๋ฉด์ ๋ฐ์ pem ์ ppk๋ก ๋ฐ๊พผ ppk
, putty
, ์ธ๋ด์ฌ
putty
๋ก EC2
์ ์ ์ํ๊ธฐ
- putty ํํ์ด์ง ๊ฐ์ ์๋ง์ ๋ฒ์ ์ ๋ค์ด ๋ฐ๋๋ค
- putty ๋ฅผ ์ผ ๋ค.
- session ์
hostname
์ ec2 ์ ํผ๋ธ๋ฆญ DNS ๋ฅผ ์ ์ด๋ฃ๋๋ค. EC2 ๋ง๋ค๋ฉด์ ๋ฐ์ pem ์ ppk๋ก ๋ฐ๊พผ ppk ํ์ผ
์ ์ ๊ธฐ์ ์ฌ๋ ค์ค๋ค.- ๋ค์ ์ธ์ ์ผ๋ก ๋์๊ฐ ๋ฐฉ๊ธ ๋ฃ์ ์ฃผ์์ ppk ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด Saved Session ์ ๋ง์ ๋๋ ์ด๋ฆ์ ์ ํ๊ณ save ํด์ค๋ค. ๊ทธ๋ผ ์์ผ๋ก ์ฐ๋ฆฐ ๊ทธ session ์ ํด๋ฆญํด ์คํํ๋ฉด ๋๋ค.
- ์ด๋ฐ ์ค๋ฅ๊ฐ ๋จ๋ฉด
Accept
. ์ค์ํ ๊ฒ ์๋๋ค - login ์
ec2-user
์ฑ๊ณต์ ์ผ๋ก EC2
์ ์ ์ํ๋ค. ์ด์ EC2
์ ์ ํจ์ค
๋ฅผ ์ค์นํ ํ
๋ฐ, ๊ทธ ์ ์ JAVA
๋ฅผ ๊น์์ผํ๋ค.
์ฐ๋ฆฌ์ ํ๋ก์ ํธ๋ JAVA 11 ์ด๋ฏ๋ก 11 ์ ์ค์นํ ๊ฑฐ๋ค.
ํ์ง๋ง
sudo yum list | grep jdk
๋ฅผ ํด๋ณด๋ฉด( ์ค์น๊ฐ๋ฅํ jdk ๋ฒ์ ํ์ธ )
๊ฐ์ด ์ํ๊ฒ๋ ์๋ฐ 11 ์ ์๋ค
๊ทธ๋๋ ์ฐ๋ฆฌ๋ java11 ์ ์ค์นํ ๊ฑฐ๋ค.
EC2
์ JAVA 11
์ค์นํ๊ธฐ
ํฌ๊ธฐํ์ง๋ง๊ณ ์ฐจ๋ก๋ก ์ ๋ ฅํ์
sudo curl -L https://corretto.aws/downloads/latest/amazon-corretto-11-x64-linux-jdk.rpm -o jdk11.rpm
sudo yum localinstall jdk11.rpm
java -version
ํ์ธjavac -version
ํ์ธsudo rm -rf jdk11.rpm
์ผ๋ก ์ค์นํท ์ ๊ฑฐwhich java
- ์ ๊ฒฝ๋ก(
/usr/bin/java
)๋ฅผ ๋ณต์ฌํด์readlink -f /usr/bin/java
๋ฅผ ์ ๋ ฅํ๋ค. - ์ ๊ฒฝ๋ก๋ฅผ
JAVA_HOME
์ ์ ๋ ฅํด์ค์ผํ๋ค. sudo vi /etc/profile
shift
+G
๋ก ๋ง์ง๋ง ์ค๋ก ์ด๋i
๋ก ์์ ๋ชจ๋๋ก ๋ฐ๊พผ ํ ์ ๋ ฅํ๋ค.export JAVA_HOME=/usr/lib/jvm/java-11-amazon-corretto/bin/java export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
ESC
+:wq!
๋ก ์ ์ฅํ๊ณ ๋์จ๋ค.source /etc/profile
๋ก ์ค์ ์ ์ ์ฅํ๋ค.echo $JAVA_HOME
์ผ๋ก ํ์ธ
์ฐธ๊ณ
EC2 java11 ์ค์น
๋ณธ๊ฒฉ์ ์ธ Jenkins
์ค์น
์ด์ ์๋ฐ ์ค์น๋ ๋๊ณ , ์ค์ ๋ ๋ง์ณค์ผ๋ ์ ํจ์ค ์ค์น๋ฅผ ํ๋ฉด ๋๋ค.
Jenkins Docs
sudo yum update -y
๋ก ์ ๋ฐ์ดํธ๋ฅผ ํด์ฃผ๊ณ- Jenkins Docs ์ ๋์์๋ ์ฝ๋๋ฅผ ์
๋ ฅํด์ฃผ์.
2-1.sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
2-2. ์ค์น๋๋ฉดsudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
2-3. ์ด์ ์ง์ง ์ ํจ์คsudo yum install jenkins
- ์ฐ๋ฆฌ๋ ๋ฐฑ์๋์์ 8080 ํฌํธ๋ฅผ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ ํฌํธ๋ฅผ ๋ฐ๊ฟ์ค๊ฑฐ๋ค. ํท๊ฐ๋ฆฌ๋๊น. ํน์ ์ด๋ฏธ ์ฌ์ฉํ๊ณ ์์ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฐ๊ฟ์ค์ผํ๋ค๋ฉด
sudo vi /etc/sysconfig/jenkins
๋ฅผ ์ด์ฉํด ์์ ํ๋ค. sudo vi /usr/lib/systemd/system/jenkins.service
๋ฅผ ์ ๋ ฅํด ์ฌ๊ธฐ๋ ์์ ํ๋ค.- ๋๋ง์
systemctl jenkins start
[OK]
๊ฐ ๋์ค๋ฉด ๋๋ค.systemctl status jenkins
๋ก ์ํ๋ฅผ ํ์ธํด๋ณด์
์๋๋ค. ๊ณ ์ํ๋ค. ๋์ ์ ์ 6์๊ฐ
์ด์ EC2 ์ ์ค์นํ ์ ํจ์ค์ ์ ์ํด๋ณด์.
{EC2 ํผ๋ธ๋ฆญ IP} : 9090
์ผ๋ก ์ ์ํด ์ ํจ์ค๋ฅผ ์ด์ด๋ณด์.
์๋๋ค.? ๊ทธ๋ผ ์ธ๋ฐ์ด๋ ๊ท์น์ 9090 ํฌํธ๊ฐ ์๋ค๋ ๊ฒ. ์๊ธฐ ํฌํธ๋ฅผ ์ถ๊ฐํด์ฃผ์.
9090
์ผ๋ก ์ ์ํ๋ฉด
์ด๋ ๊ฒ ์ฐ๋ฆฌ๊ฐ ๋ก์ปฌ์์ ๋ง๋ค์์ ๋์ ๊ฐ์ ํ๋ฉด์ด ๋์จ๋ค. ํ์ง๋ง ํจ์ค์๋ ํ์ธํ ์ฃผ์๊ฐ ๋ค๋ฅด์ง.
putty
์ ๋ค์ด๊ฐ์ ํจ์ค์๋๋ฅผ ํ์ธํด์ฃผ์.sudo cat /var/lib/jenkins/secrets/initialAdminPassword
ํ์ธ
๋ณต์ฌํด์ ์ ๋ ฅํ๋ฉด
์ด์ ๋ค์ ์ค์น์ง์ฅ
์ค์น๊ฐ ๋๋๋ฉด ์ฐ๋ฆฌ๊ฐ ๋ก์ปฌ์ ํด๋ดค๋ ๋ณธ๊ฒฉ์ ์ธ ์ ํจ์ค ์ค์ ์ ๋๊ฐ์ด ํ๋ฉด ๋๋ค.
ERROR โ
๐ใ ใ ..???
SOLUTION โ
git ์ค์นํด์ฃผ์. sudo yum install git
์ ํจ์ค ์๋ก๊ณ ์นจ ๐ใ ใ ;;
์ผ๋จ ๋น๋ ์ฑ๊ณต
๋น๋ ํ๊ฒฝ ์ค์ ใฑใฑ
์ค์ ํ๊ณ ๋ค์ ๋น๋ ใฑใฑ
์ง๊ธ์ ์๋ฒฝ 3์ 57๋ถ
๋ก์ปฌ์์ ํ๋ ๊ฒ๋ณด๋ค ๋งค์ฐ ๋น ๋ฅด๊ฒ ๋๋ฌ๋ค.
์ด์ ๋น๋ ๊น์ง๋ ๋๋ฌ๊ณ , ๋น๋ ํ ์ด ์น๊ตฌ๋ค์ด ์คํ๋๋๋ก ํด์ผํ๋ค.
๋ก์ปฌ์์๋ ์ธํ
๋ฆฌ์ ์ด์์ ์๋ฒ๋ฅผ ์์ผ์ฃผ๋ฉด ์๋ฌด์์ฉ์์์?
์ค๋์ ๋ฆ์์ผ๋ ๊ทธ๊ฑด ๋ด์ผ post build task
๋ฅผ ๊ฐ์ง๊ณ ํด๋ณด์
๋น๋ ํ ์กฐ์น
ํ๋ฌ๊ทธ์ธ ๊ด๋ฆฌ
์ ๋ค์ด๊ฐ์ post build task
๋ฅผ ์ค์นํ๊ณ
๊ตฌ์ฑ
์์ ๋น๋ ํ ์กฐ์น ๋๋๋ฐ์ค๋ฅผ ํด๋ฆญํด์ ์ค์ ์ ํด์ฃผ๋ฉด๋๋ค.
์ผ๋จ ์ด๋ฐ ์์ผ๋ก ํ๋ ๊ฑฐ์.
๋
์ผ์ผ๊ฐ ๋งค์ฐ ๊ณ ์ํ๋ค.
'PROJECT' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Docker] EC2 ubuntu ์ Docker์ Docker-compose ์ค์นํ๊ธฐ (1) | 2022.12.25 |
---|---|
[PROJECT] Jenkins ์ ํ๋ก์ ํธ ๋น๋ ํ ์๋์ผ๋ก ๋ฐฐํฌํ๊ธฐ (0) | 2022.12.04 |
[REACT] useState ๋์ useMemo ๋ฅผ ์ฌ์ฉํด๋ณด์ (0) | 2022.11.23 |
[AWS] ์๋ฐ์ฝ๋์์ด REACT ์์ RDS ์ ์๋ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ. ์ง์ง AtoZ (0) | 2022.11.21 |
[AWS] REACT ์ ์ฐ๊ฒฐํ AWS RDS ๋ง๋ค๊ธฐ (1) | 2022.11.21 |