TravelMate-KU / TravelMate-Server

0 stars 1 forks source link

๐Ÿณ CI/CD ๊ตฌ์ถ• ๊ณผ์ • #13

Open jaeuk520 opened 4 months ago

jaeuk520 commented 4 months ago

๐Ÿ“ Prerequisite

  1. EC2 ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ
  2. ํƒ„๋ ฅ์  ip ์ฃผ์†Œ ํ• ๋‹น
  3. RDS ๊ตฌ์ถ•
  4. Docker ํ™˜๊ฒฝ ์„ธํŒ…

์ดํ›„ flow๋Š” ์•„๋ž˜์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. https://velog.io/@leeeeeyeon/Github-Actions%EA%B3%BC-Docker%EC%9D%84-%ED%99%9C%EC%9A%A9%ED%95%9C-CICD-%EA%B5%AC%EC%B6%95

๐Ÿ’ฃ Trouble Shooting

mkdir ./src/main/resources
  cd ./src/main/resources
  touch ./***
  echo "***" > ./***

//์—๋Ÿฌ ๋ฉ”์‹œ์ง€
mkdir: cannot create directory โ€˜./src/main/resourcesโ€™: File exists

์ด๋ฏธ src/main/resources ํŒŒ์ผ์ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ

  docker login -u *** -p ***
  docker build -f Dockerfile-dev -t ***/travelmate .
  docker push ***/travelmate

Login Succeeded
ERROR: invalid tag "***/travelmate": invalid reference format
Error: Process completed with exit code 1.

์ฐธ๊ณ ํ•œ ๋ธ”๋กœ๊ทธ์—์„œ๋Š” docker login์— ์‚ฌ์šฉ๋˜๋Š” ์‚ฌ์šฉ์ž ID์™€ ์‚ฌ์šฉ์ž ์ด๋ฆ„(?)์ด ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๋ถ€๋ถ„์„ ๋ชจ๋‘ secrets.DOCKER_USERNAME์œผ๋กœ ํ†ต์ผํ•˜์—ฌ ์‚ฌ์šฉํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ๋ณธ์ธ์€ docker ๋กœ๊ทธ์ธ ์‹œ ์ด๋ฉ”์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ username๊ณผ๋Š” ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— secrets.DOCKER_USERID ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ํ•˜๋‚˜ ๋” ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉํ•˜์˜€๋‹ค.

  docker login -u *** -p ***
  docker build -f Dockerfile-dev -t ***/travelmate .
  docker push ***/travelmate

ERROR: failed to solve: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount3365717669/Dockerfile-dev: no such file or directory
Error: Process completed with exit code 1.

๋ธ”๋กœ๊ทธ์—์„œ๋Š” ๋ฐฐํฌํ™˜๊ฒฝ๊ณผ ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ ๋”ฐ๋กœ ๋ถ„๋ฆฌํ•˜๊ธฐ์œ„ํ•ด Dockerfile-dev์™€ Dockerfile-prod ์ด 2๊ฐœ์˜ ๋„์ปค ํŒŒ์ผ์„ ์‚ฌ์šฉํ•œ๋‹ค. ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ํ†ตํ•ฉํ™˜๊ฒฝ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— Dockerfile์„ ์ƒ์„ฑํ•˜์˜€๋Š”๋ฐ github-actions.yml์— Dockerfile-dev๋ฅผ ๋นŒ๋“œํ•œ๋‹ค๊ณ  ํ•˜์—ฌ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค.

2024/02/21 14:14:43 dial tcp ***:22: i/o timeout

๊ฐ€์žฅ ๋งŽ์€ ์‹œ๊ฐ„์ด ์†Œ์š”๋œ ๋ถ€๋ถ„์ด๋‹ค. ๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜์ž๋ฉด EC2 ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™์—์„œ SSH์˜ ํฌํŠธ๋ฅผ ๋‚ด IP๋งŒ ๋“ฑ๋กํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ–ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ถ”๊ฐ€์ ์œผ๋กœ Anywhere-IPv4๊นŒ์ง€ ๋“ฑ๋กํ•ด์ฃผ์—ˆ๋”๋‹ˆ ํ•ด๊ฒฐ๋˜์—ˆ๋‹ค.

๐Ÿ” Todo

main ๋ธŒ๋žœ์น˜์— push ๋˜์—ˆ์„ ๋•Œ ์„ฑ๊ณต์ ์œผ๋กœ ec2 ์„œ๋ฒ„์—์„œ ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ pull ํ•ด์˜ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ ์‹คํ–‰ํ•˜์˜€์„ ๋•Œ spring์— ๋“ฑ๋กํ•ด์ค€ ํ™˜๊ฒฝ๋ณ€์ˆ˜๊ฐ€ ๋“ฑ๋ก๋˜์ง€ ์•Š์•„ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ฃผ์ž…ํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ถ”๊ฐ€์ ์ธ ๊ณต๋ถ€๊ฐ€ ํ•„์š”ํ•ด๋ณด์ธ๋‹ค. docker-compose๋ฅผ ์ด์šฉํ•˜๊ฑฐ๋‚˜ ec2 ubuntu ํ™˜๊ฒฝ์—์„œ ์ง์ ‘ ์ฃผ์ž…ํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ• ๋“ฑ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

david-parkk commented 4 months ago

๊ณ ์ƒํ•˜์…จ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ ๋ฐฐํฌ๊ฐ€ ๋˜์–ด์žˆ๋Š” ์ƒํƒœ์ธ๊ฑด๊ฐ€์š”? ํƒ„๋ ฅ์ ip ๊ฐ€ ์š”๊ธˆ ๋ถ€๊ณผ ๋œ๋‹ค๊ณ  ์•Œ๊ณ  ์žˆ์–ด์„œ..

jaeuk520 commented 4 months ago

์ง€๊ธˆ ๋ฌด์ค‘๋‹จ๊นŒ์ง€ ๊ตฌ์ถ•ํ•ด๋†“์ง€๋Š” ์•Š์•„์„œ ์ธ์Šคํ„ด์Šค ์ค‘์ง€ ํ•ด๋’€์Šต๋‹ˆ๋‹ค! ํƒ„๋ ฅ์  ip๋Š” ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•ด๋‘๋ฉด ๊ดœ์ฐฎ์•„์š”๐Ÿ‘ ์ƒ์„ฑํ•ด๋†“๊ณ  ์ธ์Šคํ„ด์Šค ์—ฐ๊ฒฐ ์•ˆํ•˜๋ฉด ์š”๊ธˆ ๋ถ€๊ณผ๋ฉ๋‹ˆ๋‹ค