๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ

๐Ÿคท๐Ÿผ‍โ™€๏ธ Etc.../- linux, aws, docker, k8s39

Github Action ๊ณผ Elastic Beanstalk ๋กœ ์„œ๋ฒ„ ๋ฐฐํฌํ•˜๊ธฐ - Github Actions ์ •์˜ํ•˜๊ธฐ ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ๋Š” 3๊ฐœ์˜ ๊ธ€๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋‹จ๊ณ„์˜ ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•ด์ฃผ์„ธ์š” 1ํŽธ Spring Boot ์„œ๋ฒ„ ์ƒ์„ฑํ•˜๊ธฐ 2ํŽธ Elastic Beanstalk ์ƒ์„ฑํ•˜๊ธฐ 3ํŽธ Github Actions ์ •์˜ํ•˜๊ธฐ ํ•ด๋‹น ๊ธ€์˜ ์‹ค์Šต ์ฝ”๋“œ ๋ฐ github repository ์ง€๋‚œ ์‹œ๊ฐ„... ์ง€๋‚œ ์‹œ๊ฐ„ ์šฐ๋ฆฌ๋Š” Spring Boot ๋ฅผ ์ด์šฉํ•ด์„œ Application ์„œ๋ฒ„๋ฅผ ์ƒ์„ฑํ–ˆ๊ณ  Elastic Beanstalk ๋ฅผ ์ƒ์„ฑ ํ–ˆ๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” Github Actions ๋ฅผ ์ด์šฉํ•˜์—ฌ Master branch ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์žˆ๋‹ค๋ฉด ์ž๋™์œผ๋กœ ๋ฐฐํฌํ•˜๋Š” ๋ฐฐํฌ ์ž๋™ํ™”์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. Github Actions ์— ๋Œ€ํ•ด์„œ ๋” ์ž์„ธํžˆ Github Actions ๋Š” ๊นƒํ—ˆ๋ธŒ์—์„œ ๊ณต์‹์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” workflow ์ž.. 2022. 1. 23.
Github Action ๊ณผ Elastic Beanstalk ๋กœ ์„œ๋ฒ„ ๋ฐฐํฌํ•˜๊ธฐ - EB ์ƒ์„ฑํ•˜๊ธฐ ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ๋Š” 3๊ฐœ์˜ ๊ธ€๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋‹จ๊ณ„์˜ ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•ด์ฃผ์„ธ์š” 1ํŽธ Spring Boot ์„œ๋ฒ„ ์ƒ์„ฑํ•˜๊ธฐ 2ํŽธ Elastic Beanstalk ์ƒ์„ฑํ•˜๊ธฐ 3ํŽธ Github Actions ์ •์˜ํ•˜๊ธฐ ํ•ด๋‹น ๊ธ€์˜ ์‹ค์Šต ์ฝ”๋“œ ๋ฐ github repository ์ง€๋‚œ ์‹œ๊ฐ„... ์ง€๋‚œ ์‹œ๊ฐ„ ์šฐ๋ฆฌ๋Š” Spring Boot ๋ฅผ ์ด์šฉํ•ด์„œ Application ์„œ๋ฒ„๋ฅผ ์ƒ์„ฑํ–ˆ๊ณ  github ์— push ํ•˜๋Š” ์ž‘์—…๊นŒ์ง€ ๋งˆ์ณค๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” Elastic Beanstalk ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ณ  ์‹ค์ œ๋กœ ์ƒ์„ฑ์„ ํ•ด๋ณด๋„๋ก ํ•˜์ž. Elastic Beanstalk ์— ๋Œ€ํ•ด์„œ ๋” ์ž์„ธํžˆ Elastic Beanstalk ์— ๋Œ€ํ•ด์„œ ๋‹ค์‹œ ํ•œ ๋ฒˆ ์ •์˜ํ•ด๋ณด์ž. Elastic Beanstalk ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๋Š” .. 2022. 1. 23.
Github Action ๊ณผ Elastic Beanstalk ๋กœ ์„œ๋ฒ„ ๋ฐฐํฌํ•˜๊ธฐ - Spring Boot ์„œ๋ฒ„ ์ƒ์„ฑํ•˜๊ธฐ ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ๋Š” 3๊ฐœ์˜ ๊ธ€๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋‹จ๊ณ„์˜ ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•ด์ฃผ์„ธ์š” 1ํŽธ Spring Boot ์„œ๋ฒ„ ์ƒ์„ฑํ•˜๊ธฐ 2ํŽธ Elastic Beanstalk ์ƒ์„ฑํ•˜๊ธฐ 3ํŽธ Github Actions ์ •์˜ํ•˜๊ธฐ ํ•ด๋‹น ๊ธ€์˜ ์‹ค์Šต ์ฝ”๋“œ ๋ฐ github repository ๋™๊ธฐ ์ตœ๊ทผ ์‚ฌ๋‚ด์—์„œ ์ƒˆ๋กญ๊ฒŒ ๊ฐœ๋ฐœํ•˜๋Š” ์„œ๋ฒ„๋ฅผ EB ์™€ Github Action ์„ ์ด์šฉํ•˜์—ฌ ๋ฐฐํฌ ์ž๋™ํ™” ๊ตฌ์„ฑ์„ ํ•˜๋Š” ๊ธฐํšŒ๊ฐ€ ์ƒ๊ฒผ์—ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ํ•ด๋ดค๋˜ CI/CD, ๋ฐฐํฌ ์ž๋™ํ™”๋Š” ๋‹ค์Œ 2๊ฐœ์ด๋‹ค. Travis CI + CodeDeploy EC2 + Jenkins ์ฒ˜์Œ ์ž๋™ํ™”์— ๋Œ€ํ•ด์„œ ํ•™์Šตํ•  ๋•Œ Elastic Beanstalk ์— ๋Œ€ํ•œ ํ›„๊ธฐ๋Š” ๊ฑฐ์˜ ๋ชป๋ณด๋‹ค ์‹ถ์ด ํ–ˆ์ง€๋งŒ ํ˜„์žฌ๋Š” EB ์™€ Github Action ์— ๋Œ€ํ•œ ์„ฑ๊ณต ์ผ€์ด์Šค๊ฐ€ ๋งŽ์•„.. 2022. 1. 23.
Docker Timezone์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ(UTC to KST) ํ•ด๊ฒฐํ•˜๊ธฐ ๋ฌธ์ œ ์ƒํ™ฉ ๋ฌธ์ œ ์ƒํ™ฉ์€ ์ด๋žฌ๋‹ค. ๋‚ด๊ฐ€ Spring Boot Application ์œผ๋กœ Backend API ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„๋ฅผ Dockerizing ํ•˜์˜€๋‹ค. ํ•ด๋‹น Application ์€ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํ…Œ์ŠคํŠธ ์ด๋ฏธ์ง€์—์„œ ์ดˆ๊ธฐ initial data ๋ฅผ ์œ„ํ•ด์„œ import.sql ๋กœ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์ฃผ๊ณ  ์žˆ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Controller ์—์„œ ์ œ๊ณตํ•˜๋Š” API ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ˜„์žฌ ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ -24์‹œ๊ฐ„ ๊นŒ์ง€์˜ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ฒŒ ๋˜๋Š”๋ฐ, ๋งŒ์•ฝ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์œผ๋ฉด ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค. ๊ทธ๋ž˜์„œ ๊ณ„์†ํ•ด์„œ 500 Internal Server Error ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค. ๊ทธ๋ž˜์„œ ์–ด๋–ค ๋ฌธ์ œ์ธ์ง€ ์ •ํ™•ํžˆ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด์„œ docker logs ๋ฅผ ํ†ตํ•ด์„œ ๋‚ด๋ถ€๋กœ ๋“ค์–ด์˜ค๋Š” ํŠธ๋ž˜ํ”ฝ์˜ Application Layer ์˜ ๋กœ๊ทธ๋ฅผ ์ฐ.. 2021. 8. 18.
[๋ฆฌ๋ˆ…์Šค] gcc ๋กœ c ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ์†Œ์Šค ์ฝ”๋“œ ์ปดํŒŒ์ผํ•˜๊ธฐ (ํ—ค๋” ํŒŒ์ผ๋กœ ๋‚˜๋ˆ ์„œ ์ปดํŒŒ์ผํ•˜๊ธฐ) ์šฐ๋ฆฌ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ c ์–ธ์–ด๋ฅผ ์ปดํŒŒ์ผํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Visual Studio๋‚˜ CLion ์„ ์ด์šฉํ•ด์„œ Run ํ˜น์€ Debugging ์„ ํ•˜์˜€์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—์„œ๋Š” Visual Studio ๋‚˜ CLion ์„ ์„ค์น˜ํ•˜๊ธฐ๋ž€ ๋งค์šฐ ๊นŒ๋‹ค๋กญ๊ณ  QT-Creator ๊ณผ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋žจ์„ ์ด์šฉํ•ด์•ผ ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ IDE๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์ ˆ๋Œ€ ์•ˆ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ, ๊ทธ๊ฒƒ๋ณด๋‹ค ํ„ฐ๋ฏธ๋„์—์„œ g++์ด๋‚˜ gcc ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด์„œ ์ปดํŒŒ์ผํ•˜๋Š” ํŽธ์ด ์˜คํžˆ๋ ค ๋” ํŽธํ•  ๋–„๊ฐ€ ์žˆ๋‹ค. ์˜ค๋Š˜์€ ํ„ฐ๋ฏธ๋„์—์„œ gcc ๋กœ c ์–ธ์–ด๋ฅผ ์ปดํŒŒ์ผํ•˜๊ณ  object ํŒŒ์ผ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณผ ๊ฒƒ์ด๋‹ค. ๋ฆฌ๋ˆ…์Šค์—์„œ c ์–ธ์–ด ์ปดํŒŒ์ผํ•˜๊ธฐ ์šฐ์„  gcc ๋‚˜ g++ ์„ ์„ค์น˜ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด apt๋ฅผ ํ†ตํ•ด์„œ g++, gcc ๋ฅผ ์„ค์น˜ํ•ด์ฃผ์ž. apt-get ์„ ์‚ฌ์šฉ.. 2021. 7. 16.
[Docker] docker system prune ์œผ๋กœ ๋„์ปค์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ชจ๋“  ๋ฆฌ์†Œ์Šค ์‚ญ์ œํ•˜๊ธฐ Docker ๋ฅผ ์ด์šฉํ•˜๋‹ค ๋ณด๋ฉด ์šฐ๋ฆฌ๋Š” ์—ฌ๋Ÿฌ ๋Œ€์˜ ์ปจํ…Œ์ด๋„ˆ๋“ค์„ ๋‹ค๋ฃจ๊ฒŒ ๋œ๋‹ค. ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ค๋ฃจ๋ฉด์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฆฌ์†Œ์Šค๋“ค์— ๋Œ€ํ•œ ๊ด€๋ฆฌ ์ด๋‹ค. ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฆฌ์†Œ์Šค๋ผ๋ฉด ๋ฌด์—‡์ผ๊นŒ? ์˜ˆ๋ฅผ ๋“ค์–ด์„œ ์šฐ๋ฆฌ๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ•˜๋‚˜๋ฅผ ๊ฐœ๋ฐœํ–ˆ๊ณ , ์ด๋ฅผ ๋ฐฐํฌํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ ํ•ด๋‹น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ปจํ…Œ์ด๋„ˆํ™” ํ•œ ์ด๋ฏธ์ง€๋“ค์„ ๋ฐ”๋กœ๋ฐ”๋กœ ์‚ญ์ œํ•˜์ง€ ์•Š์•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž. ๊ทธ๋Ÿผ์— ๋”ฐ๋ผ์„œ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ปจํ…Œ์ด๋„ˆ๋‚˜ Docker Network ๋Š” Host PC ์— ์Œ“์ด๊ฒŒ ๋œ๋‹ค. ๋„์ปค๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ฐœ์ž์ผ ์ˆ˜๋ก Host PC ์„ฑ๋Šฅ์— ๋งŽ์€ ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ฒŒ ๋œ๋‹ค. ์ด ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด๊ฐ€ ๋ฐ”๋กœ system์˜ prune ๋ช…๋ น์–ด์ด๋‹ค. prune prune์€ ๊ฐ€์ง€ ์น˜๊ธฐ์™€ ๊ฐ™์ด ๋ถˆํ•„์š”ํ•œ ๋ฌด์–ธ๊ฐ€๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ ์ฏค์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. .. 2021. 6. 11.