Skip to content

Latest commit

ย 

History

History
239 lines (152 loc) ยท 8.21 KB

File metadata and controls

239 lines (152 loc) ยท 8.21 KB

๐Ÿš€ 26-1 ๋ฐฑ์—”๋“œ ๋ฐฐํฌ ์„ธ๋ฏธ๋‚˜ ๋ฐ๋ชจ

2026๋…„ 1ํ•™๊ธฐ ๋ฐฑ์—”๋“œ ๋ฐฐํฌ ์„ธ๋ฏธ๋‚˜๋ฅผ ์œ„ํ•œ ๋ฐ๋ชจ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.

์„ธ๋ฏธ๋‚˜ ์ž๋ฃŒ๋Š” ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹ค์Šต ์ค‘ ์งˆ๋ฌธ์ด ์žˆ๋‹ค๋ฉด https://app.sli.do/event/i7Ddk1SWogVBEEURyzot7o/live/questions์— ๋‚จ๊ฒจ์ฃผ์„ธ์š”!


1. ๋ ˆํฌ์ง€ํ† ๋ฆฌ ํฌํฌํ•˜๊ธฐ

image

๊นƒํ—ˆ๋ธŒ์— ๋กœ๊ทธ์ธํ•œ ํ›„,
์ด ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ ์šฐ์ธก ์ƒ๋‹จ์—์„œ Fork ๋ฒ„ํŠผ์„ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.


image

Create fork ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ํฌํฌํ•ฉ๋‹ˆ๋‹ค.
ํฌํฌ๋Š” ์›๋ณธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋‚ด ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋กœ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
(์˜ˆ: ์›๋ณธ github.com/pknu-wap/backend-deploy-demo -> ๋‚ด ๋ ˆํฌ์ง€ํ† ๋ฆฌ github.com/psvm203/backend-deploy-demo)


2. ๊นƒํ—ˆ๋ธŒ ์ฝ”๋“œ์ŠคํŽ˜์ด์Šค ์ƒ์„ฑ

https://github.com/codespaces ์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.


image

์šฐ์ธก ์ƒ๋‹จ์˜ New codespaces ๋ฒ„ํŠผ์„ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.


image

Select a repository ๋กœ ๋ฐฉ๊ธˆ ํฌํฌํ•œ ๋ณธ์ธ์˜ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
Create codespace ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์ฝ”๋“œ์ŠคํŽ˜์ด์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.


image

์ž ์‹œ ๊ธฐ๋‹ค๋ฆฌ๋ฉด ์ฝ”๋“œ์ŠคํŽ˜์ด์Šค ์ฐฝ์ด ๋œน๋‹ˆ๋‹ค.
ํ„ฐ๋ฏธ๋„์˜ ํŒจ๋„ ์ตœ๋Œ€ํ™” ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค.


image

uname -a

ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•ด๋ด…์‹œ๋‹ค.
์ฝ”๋“œ ์˜†์˜ ๋ณต์‚ฌ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์‰ฝ๊ฒŒ ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฒฐ๊ณผ๊ฐ€ ์‚ฌ์ง„๊ณผ ๋น„์Šทํ•˜๊ฒŒ ๋‚˜์™”๋‹ค๋ฉด ์„ฑ๊ณต์ž…๋‹ˆ๋‹ค.
uname -a๋Š” ํ˜„์žฌ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์‹œ์Šคํ…œ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
์ด๋ฅผ ํ†ตํ•ด ๊นƒํ—ˆ๋ธŒ ์ฝ”๋“œ์ŠคํŽ˜์ด์Šค๋Š” ๋ฆฌ๋ˆ…์Šค ์šฐ๋ถ„ํˆฌ ํ™˜๊ฒฝ์ด๋ผ๋Š” ์‚ฌ์‹ค์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


3. MySQL ์‹คํ–‰

image

mysql -V

ํ”Œ๋žซํผ์— ๋”ฐ๋ผ MySQL์ด ์„ค์น˜๋˜์–ด์žˆ์„ ์ˆ˜๋„ ์žˆ๊ณ  ์•„๋‹ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
mysql -V๋Š” ์„ค์น˜๋œ MySQL์˜ ๋ฒ„์ „์„ ์ถœ๋ ฅํ•˜๋Š” ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค.
MySQL์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์„ค์น˜ํ•ด๋ด…์‹œ๋‹ค.


image

sudo apt update

apt update๋Š” ์„ค์น˜ ๊ฐ€๋Šฅํ•œ ๋ชฉ๋ก์„ ์—…๋ฐ์ดํŠธํ•˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค.


image

sudo apt install mysql-server

์ด์ œ ๋ณธ๊ฒฉ์ ์œผ๋กœ MySQL์„ ์„ค์น˜ํ•ด๋ด…์‹œ๋‹ค.
Do you want to continue? [Y/n] ๊ฐ€ ๋‚˜์˜ค๋ฉด y๋ฅผ ์ž…๋ ฅํ•ด์„œ ์ง„ํ–‰ํ•ด์ค๋‹ˆ๋‹ค.


image

mysql -V

๋‹ค์‹œ ํ•œ ๋ฒˆ mysql -V ๋ช…๋ น์„ ์‹คํ–‰ํ•ด์„œ ์„ค์น˜๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ง„ํ–‰๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.


image

sudo service mysql start

MySQL์„ ์‹คํ–‰ํ•ด์ค๋‹ˆ๋‹ค.


spring:
  application:
    name: community
  datasource:
    url: jdbc:mysql://localhost:3306/community
    username: root
    password: wap-backend-deploy
  jpa:
    hibernate:
      ddl-auto: update

Spring์˜ ์„ค์ • ์ •๋ณด์ž…๋‹ˆ๋‹ค.
์—ฌ๊ธฐ์„œ ๋ˆˆ์—ฌ๊ฒจ๋ด์•ผํ•  ๊ฒƒ์€ ํฌํŠธ๊ฐ€ 3306, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„์ด community, ์‚ฌ์šฉ์ž๋ช…์ด root, ์•”ํ˜ธ๊ฐ€ wap-backend-deploy๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด๋ฏธ ๊ธฐ๋ณธ ํฌํŠธ๋Š” 3306, ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž๋ช…์€ root์ด๋ฏ€๋กœ
community ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งŒ๋“ค๊ณ  root ์‚ฌ์šฉ์ž์˜ ์•”ํ˜ธ๋ฅผ wap-backend-deploy๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.


image

sudo mysql

MySQL์— ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค.

CREATE DATABASE community;

community ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งŒ๋“ค์–ด์ค์‹œ๋‹ค.
SQL๋ฌธ์€ ๋ช…๋ น์˜ ๋์— ์„ธ๋ฏธ์ฝœ๋ก ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
์„ธ๋ฏธ์ฝœ๋ก ์„ ๋น ๋œจ๋ฆฌ์ง€ ์•Š๊ฒŒ ์กฐ์‹ฌํ•˜์„ธ์š”.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'wap-backend-deploy';

root ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ wap-backend-deploy๋กœ ๋ฐ”๊พธ์–ด์ค๋‹ˆ๋‹ค.
๋ช…๋ น์ด ์™„๋ฃŒ๋˜๋ฉด Ctrl + Z๋ฅผ ๋ˆŒ๋Ÿฌ ๋น ์ ธ๋‚˜์˜ต๋‹ˆ๋‹ค.


4. Spring Boot ์‹คํ–‰

image

java --version

MySQL๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Java๋„ ์„ค์น˜๋˜์–ด์žˆ์„ ์ˆ˜๋„ ์žˆ๊ณ  ์•„๋‹ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
์ง€๊ธˆ์€ 11 ๋ฒ„์ „์ด ์„ค์น˜๋˜์–ด์žˆ๋Š”๋ฐ, 21 ๋ฒ„์ „์„ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


image

sdk install java 21-tem

์ž๋ฐ” 21 ๋ฒ„์ „์„ ์„ค์น˜ํ•ด์ค์‹œ๋‹ค.
Do you want java 21-tem to be set as default? (Y/n):๊ฐ€ ๋‚˜์˜ค๋ฉด y๋ฅผ ์ž…๋ ฅํ•ด์ค๋‹ˆ๋‹ค.


image

java --version

๋‹ค์‹œ java --version์„ ์‹คํ–‰ํ•ด๋ณด๋ฉด 21 ๋ฒ„์ „์ด ์„ค์น˜๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


image

chmod +x gradlew
./gradlew build

chmod +x gradlew๋กœ gradlew๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.
./gradlew build๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค.
๋นŒ๋“œ๋Š” ๊ฝค ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


image

java -jar build/libs/community-0.0.1-SNAPSHOT.jar

๋นŒ๋“œ๋œ ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์— ํŒ์—…์ฐฝ์ด ๋œจ๋ฉด ๋ธŒ๋ผ์šฐ์ €์—์„œ ์—ด๊ธฐ๋ฅผ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค.


image

ํฌํŠธ - ์ฒซ ์ค„ ์šฐํด๋ฆญ - ํฌํŠธ ๊ฐ€์‹œ์„ฑ - Public ์„ ํด๋ฆญํ•ด์ฃผ๋ฉด ์ด ์›น์‚ฌ์ดํŠธ์— ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ ‘์†ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
๋“œ๋””์–ด ๋ฐฐํฌ ์„ค์ •์ด ๋๋‚ฌ์Šต๋‹ˆ๋‹ค!

5. ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ๊ณต์œ 

#1 ์— ๋ฐฐํฌํ•œ ์›น ์‚ฌ์ดํŠธ์˜ ๋งํฌ๋ฅผ ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š”!

๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ์›น ์‚ฌ์ดํŠธ๊ฐ€ ์ž˜ ์ ‘์†๋˜๋Š”์ง€/์ž˜ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ์ž์‹ ์˜ ์›น ์‚ฌ์ดํŠธ๊ฐ€ ์ž˜ ์ž‘๋™ํ•˜๋Š”์ง€ ์˜† ์‚ฌ๋žŒํ•œํ…Œ ํ™•์ธ์„ ๋ถ€ํƒํ•ด๋ณด์„ธ์š”!


์„ธ๋ฏธ๋‚˜ ๋‚ด์šฉ ์ค‘ ๊ถ๊ธˆํ•˜์‹  ์ ์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด ์–ธ์ œ๋“ ์ง€ ์นด์นด์˜คํ†ก/๋””์Šค์ฝ”๋“œ ์ด๋ฌธ๋นˆ์œผ๋กœ ์—ฐ๋ฝ์ฃผ์„ธ์š”!