Skip to content

Latest commit

ย 

History

History
128 lines (110 loc) ยท 3.74 KB

File metadata and controls

128 lines (110 loc) ยท 3.74 KB

LossLeader

image

ํ”„๋กœ์ ํŠธ ๊ฐ„๋žต ์„ค๋ช…

์‹ค์ œ ๊ธฐ๋ฐ˜์€ ๊ด‘๊ณ ๋น„ ์ ˆ์•ฝ๊ณผ ์†Œ๋น„์ž์˜ ์„œ๋น„์Šค๋ฅผ ์ง‘์ค‘ํ•ด์„œ ๋งŒ๋“  ์‚ฌ์—…์ž…๋‹ˆ๋‹ค. ์†๋‹˜๋“ค์ด ์–ด๋А ์Œ์‹์ ์„ ๊ฐ€๋„ ํ• ์ธ์ด๋‚˜ ์„œ๋น„์Šค๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ณ  ์‚ฌ์žฅ๋‹˜๋“ค์€ ๊ด‘๊ณ  ์ ˆ์•ฝ, ์Œ์‹ ๋‚ญ๋น„ ๋ฐฉ์ง€๋“ฑ ์„œ๋กœ ์„œ๋กœ win win ์‚ฌ์—…์ด์—ˆ์Šต๋‹ˆ๋‹ค. (์‰ฌ์šด ์„ค๋ช…์œผ๋กœ ์นดํŽ˜์—์„œ ๋งˆ์ผ๋ฆฌ์ง€๋ฅผ ์ ๋ฆฝํ•˜๊ณ  ๋‚˜์ค‘์— ๋งˆ์ผ๋ฆฌ์ง€๋ฅผ ๋‹ค ๋ชจ์œผ๋ฉด ์ปคํ”ผ๋ฅผ 1์ž” ๋จน๋Š”๊ฑฐ๋ž‘ ๋น„์Šทํ•˜๋‹ค๊ณ  ๋ณด๋ฉด๋ฉ๋‹ˆ๋‹ค. ๊ทธ ๋ถ€๋ถ„์„ ํ†ตํ•ฉ์ ์œผ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ์‚ฌํ•ญ์€ ๋…ธ์…˜์— ์žˆ๋Š” ์‚ฌ์—…๊ณ„ํš์„œ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”!

image

๊ธฐ๋Šฅ

  • ์ผ๋ฐ˜ ํšŒ์› ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ
  • ์ผ๋ฐ˜ ํšŒ์›์ •๋ณด ์ˆ˜์ •
  • ๊ฐ„ํŽธ ๋กœ๊ทธ์ธ(๋„ค์ด๋ฒ„, ์นด์นด์˜ค)
  • ๋งˆ์ดํŽ˜์ด์ง€(ํšŒ์›์ •๋ณด ์ˆ˜์ •, ์ฃผ๋ฌธ๋‚ด์—ญ, ์ฃผ๋ฌธ์ •๋ณด, ๋ฆฌ๋ทฐ๋ณด๊ธฐ)
  • ๋ฆฌ๋ทฐ ๋“ฑ๋ก
  • ์ฟ ํฐ ์ฃผ๋ฌธ
  • ์—…์ฒด ์ •๋ณด ๋ฆฌ์ŠคํŒ…(๋“ฑ๊ธ‰์ˆœ or ๋ณ„์ ์ˆœ or ๋“ฑ๋ก์ˆœ)
  • ์—…์ฒด ์ƒ์„ธ ๋ณด๊ธฐ

BackEnd ๊ฐœ๋ฐœํ™˜๊ฒฝ

image

๊ฐœ๋ฐœํ™˜๊ฒฝ ๋ฒ„์ „

  • Spring Boot : 2.6.3
  • OpenJdk : 11.0.1
  • gradle : 7.3.3
  • docker : 20.10.7
  • docker-compose : 2.2.3
  • Ubuntu : 18.0.4

ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ ๋ฐฉ๋ฒ• ๋ฐ ์„ธํŒ… ๋ฐฉ๋ฒ•

์„ธํŒ… ๋ฐฉ๋ฒ•

  • mysql ์„ธํŒ… ๋ฐฉ๋ฒ• : docker-compose.yml ํŒŒ์ผ
version: '2'
services:
  db:
    image: mysql:latest
    container_name: lossleader-mysql
    ports:
      - "3306:3306"
    environment:
      - MYSQL_DATABASE=lossleader
      - MYSQL_ROOT_PASSWORD=lossleaderBack12!
      - TZ=Asia/Seoul
    command:
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_unicode_ci
    volumes:
      - ./lossleader-mysql/origin-data:/var/lib/mysql
  • mysql ์ ‘๊ทผ ๋ฐฉ๋ฒ•
 create user 'lossleaderback'@'%' identified by 'lossleaderBack12!';
 grant all privileges on lossleader.* to 'lossleaderback'@'%' with grant option;
  • minio ์„ธํŒ… ๋ฐฉ๋ฒ• : docker-compose.yml ํŒŒ์ผ
version: '2'
services:
 minio:
  image: minio/minio:RELEASE.2021-06-17T00-10-46Z.hotfix.35a0912ff
  container_name: myminio
  environment:
   MINIO_ACCESS_KEY: lossleader
   MINIO_SECRET_KEY: lossleader123
  volumes:
    - ./storage/origin-data:/data
  ports:
   - "9000:9000"
  command: server /data
 mc:
  image: minio/mc:latest
  depends_on:
   - minio
  entrypoint: >
    /bin/sh -c "
    /usr/bin/mc config host rm local;
    /usr/bin/mc config host add --quiet --api s3v4 local http://myminio:9000/ lossleader  lossleader123;
    /usr/bin/mc mb --quiet local/store;
    /usr/bin/mc mb --quiet local/review;
    /usr/bin/mc policy set public local/store;
    /usr/bin/mc policy set public local/review;
    "

์‹œ์ž‘ ๋ฐฉ๋ฒ•

  1. ์  ํ‚จ์Šค ๋นŒ๋“œ ๋ช…๋ น์–ด
  1. git ์—ฐ๊ฒฐ
  2. ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ๋ช…๋ น์–ด
./gradlew clean build -x test -Pprofile=prod
  1. docker ํŒŒ์ผ ๋นŒ๋“œ ๋ช…๋ น์–ด
docker build -t jenkins/lossleader .
  1. ๊ธฐ์กด ์ปจํ…Œ์ด๋„ˆ ์‚ญ์ œ
docker ps -q --filter "name=jenkins-lossleader" && docker stop jenkins-lossleader && docker rm jenkins-lossleader | true
  1. ๋„์ปค ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰
docker run -p 8000:8000 -d --name=jenkins-lossleader jenkins/lossleader
  1. ํ•„์š”์—†๋Š” ์ด๋ฏธ์ง€ ์ œ๊ฑฐ
docker rmi -f $(docker images -f "dangling=true" -q) || true

*์ฐธ๊ณ 

  • 3~7์˜ ๋ช…๋ น์–ด๋Š” Build - Excute shell์— ์ž‘์„ฑ

๋งํฌ