๐ปTest
: develop ๋ธ๋ฐ์น๊ฐ ๋ฐ์๋๋ ์๋ฒ์ด๋ค. api, admin, batch, chat ์๋ฒ๊ฐ ๋์ปค๋ก ๋น๋๋์ด ์๋ค.๐ปProduction
: production ๋ธ๋ฐ์น๊ฐ ๋ฐ์๋๋ ์๋ฒ์ด๋ค. api, batch, chat ์๋ฒ๊ฐ ๋์ปค๋ก ๋น๋๋์ด ์๋ค.๐ปAdmin
: production ๋ธ๋ฐ์น๊ฐ ๋ฐ์๋๋ ์๋ฒ์ด๋ค. admin ์๋ฒ๊ฐ ๋์ปค๋ก ๋น๋๋์ด ์๋ค.๐ปJenkins
: ํ ์คํธ ๋ฐ ํ๋ก๋์ ์๋ฒ๋ฅผ ๋ฐฐํฌํ๊ธฐ ์ํ ๋น๋ ์๋ฒ์ด๋ค. ํ๋ก์ ํธ ๋ ๋ฒจ ํ๊ฒฝ ๋ณ์ ์ถ๊ฐ ๋ฐ ์์ ์ ํด๋น ์๋ฒ์ ์์นํ resource ํ์ผ์ ์์ ํด์ผ ํ๋ค.
- Java 11
- Spring Boot 2.7.1
- JPA
๐
โฃ ๐app
โ โฃ ๐admin
โ โ โฃ ๐src
โ โ โ โฃ ๐docs
โ โ โ โ โ ๐asciidoc
โ โ โ โ โ โ ๐api-doc.adoc
โ โ โ โฃ ๐main
โ โ โ โ โฃ ๐java
โ โ โ โ โ ๐resources
โ โ โ โ โ โ ๐application.yml
โ โ โ โ ๐test
โ โ โฃ ๐Dockerfile
โ โ โฃ ๐Dockerfile_dev
โ โ โ ๐build.gradle
โ โฃ ๐api
โ โ โฃ ๐src
โ โ โ โฃ ๐docs
โ โ โ โ โ ๐asciidoc
โ โ โ โ โ โ ๐api-doc.adoc
โ โ โ โฃ ๐main
โ โ โ โ โฃ ๐java
โ โ โ โ โ ๐resources
โ โ โ โ ๐test
โ โ โฃ ๐Dockerfile
โ โ โฃ ๐Dockerfile_dev
โ โ โ ๐build.gradle
โ โฃ ๐batch
โ โ โฃ ๐src
โ โ โ โฃ ๐main
โ โ โ โ โฃ ๐java
โ โ โ โ โ ๐resources
โ โ โ โ โ โ ๐application.yml
โ โ โ โ ๐test
โ โ โฃ ๐Dockerfile
โ โ โฃ ๐Dockerfile_dev
โ โ โ ๐build.gradle
โ โฃ ๐chat
โ โ โฃ ๐src
โ โ โ โ ๐main
โ โ โ โ โฃ ๐java
โ โ โ โ โ ๐resources
โ โ โ โ โ โ ๐application.yml
โ โ โฃ ๐Dockerfile
โ โ โฃ ๐Dockerfile_dev
โ โ โ ๐build.gradle
โ โฃ ๐core
โ โ โฃ ๐src
โ โ โ โ ๐main
โ โ โ โ โฃ ๐java
โ โ โ โ โ ๐resources
โ โ โ ๐build.gradle
โฃ ๐domain
โ โฃ ๐src
โ โ โ ๐main
โ โ โ โ ๐java
โ โ ๐build.gradle
โฃ ๐.gitignore
โฃ ๐README.md
โฃ ๐build.gradle
โ ๐settings.gradle
๐domain
: ํ๋ก์ ํธ ์ ๋ฐ์ ์ฌ์ฉ๋๋ Entity ์ Repository ๊ฐ ํฌํจ๋๋ค.๐app
: ํ๋ก์ ํธ์ ๋ชจ๋ api ์ ๊ด๋ จ๋ ์ฝ๋๊ฐ ํฌํจ๋๋ค. app ๋ชจ๋์ ๋ค์ 5๊ฐ์ sub module์ ํฌํจํ๋ค.๐api
: ์์ ๊ด์ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ RESTFul api endpoint ์ ์ ๋ฐ ๊ด๋ จ ๋ก์ง์ด ํฌํจ๋๋ค.๐api-doc.adoc
: api ๋ชจ๋๊ณผ ๊ด๋ จ๋ api ๋ฌธ์๋ฅผ ์์ฑํ๋ ํ์ผ์ด๋ค.๐build.gradle
: api ๋ชจ๋์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ธํ๊ณ ๋น๋์ ๊ด๋ จ๋ ์ธํ ์ ํ๋ ํ์ผ์ด๋ค.๐application.yml
: api ๋ชจ๋์ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๊ด๋ จ๋ ํ๊ฒฝ๋ณ์๋ฅผ ์ธํ ํ๋ ํ์ผ์ด๋ค.๐Dockerfile
: ๋ฐฐํฌ ํ๊ฒฝ์์ api ๋ชจ๋์ ๋์ปค๋ก ๋น๋ํ ๋ ์ฌ์ฉ๋๋ ํ์ผ์ด๋ค.๐Dockerfile_dev
: ํ ์คํธ ํ๊ฒฝ์์ api ๋ชจ๋์ ๋์ปค๋ก ๋น๋ํ ๋ ์ฌ์ฉ๋๋ ํ์ผ์ด๋ค.
๐admin
: ์์ ๊ด์ฐ ๊ด๋ฆฌ์๋ฅผ ์ํ RESTFul api endpoint ์ ์ ๋ฐ ๊ด๋ จ ๋ก์ง์ด ํฌํจ๋๋ค.๐api-doc.adoc
: admin ๋ชจ๋๊ณผ ๊ด๋ จ๋ api ๋ฌธ์๋ฅผ ์์ฑํ๋ ํ์ผ์ด๋ค.๐build.gradle
: admin ๋ชจ๋์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ธํ๊ณ ๋น๋์ ๊ด๋ จ๋ ์ธํ ์ ํ๋ ํ์ผ์ด๋ค.๐application.yml
: admin ๋ชจ๋์ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๊ด๋ จ๋ ํ๊ฒฝ๋ณ์๋ฅผ ์ธํ ํ๋ ํ์ผ์ด๋ค.๐Dockerfile
: ๋ฐฐํฌ ํ๊ฒฝ์์ admin ๋ชจ๋์ ๋์ปค๋ก ๋น๋ํ ๋ ์ฌ์ฉ๋๋ ํ์ผ์ด๋ค.๐Dockerfile_dev
: ํ ์คํธ ํ๊ฒฝ์์ admin ๋ชจ๋์ ๋์ปค๋ก ๋น๋ํ ๋ ์ฌ์ฉ๋๋ ํ์ผ์ด๋ค.
๐chat
: ์์ ๊ด์ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑํ ๊ธฐ๋ฅ์ ๋ํ api endpoint ์ ์ ๋ฐ ๊ด๋ จ ๋ก์ง์ด ํฌํจ๋๋ค. ๋ฅผ ์์ฑํ๋ ํ์ผ์ด๋ค.๐build.gradle
: chat ๋ชจ๋๊ณผ ๊ด๋ จ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ธํ๊ณ ๋น๋์ ๊ด๋ จ๋ ์ธํ ์ ํ๋ ํ์ผ์ด๋ค.๐application.yml
: chat ๋ชจ๋์ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๊ด๋ จ๋ ํ๊ฒฝ๋ณ์๋ฅผ ์ธํ ํ๋ ํ์ผ์ด๋ค.๐Dockerfile
: ๋ฐฐํฌ ํ๊ฒฝ์์ admin ๋ชจ๋์ ๋์ปค๋ก ๋น๋ํ ๋ ์ฌ์ฉ๋๋ ํ์ผ์ด๋ค.๐Dockerfile_dev
: ํ ์คํธ ํ๊ฒฝ์์ admin ๋ชจ๋์ ๋์ปค๋ก ๋น๋ํ ๋ ์ฌ์ฉ๋๋ ํ์ผ์ด๋ค.
๐batch
: ์๋ฒ๊ฐ ์ฃผ๊ธฐ์ ์ผ๋ก ์๋ํ๋์ด ์คํํ๋ ๊ธฐ๋ฅ๊ณผ ๊ด๋ จ๋ ๋ก์ง์ด ํฌํจ๋๋ค.๐build.gradle
: batch ๋ชจ๋์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ธํ๊ณ ์ธํ ์ ์ ์ํ๋ ํ์ผ์ด๋ค.๐application.yml
: batch ๋ชจ๋์ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๊ด๋ จ๋ ํ๊ฒฝ๋ณ์๋ฅผ ์ธํ ํ๋ ํ์ผ์ด๋ค.๐Dockerfile
: ๋ฐฐํฌ ํ๊ฒฝ์์ batch ๋ชจ๋์ ๋์ปค๋ก ๋น๋ํ ๋ ์ฌ์ฉ๋๋ ํ์ผ์ด๋ค.๐Dockerfile_dev
: ํ ์คํธ ํ๊ฒฝ์์ batch ๋ชจ๋์ ๋์ปค๋ก ๋น๋ํ ๋ ์ฌ์ฉ๋๋ ํ์ผ์ด๋ค.
๐core
: ์ฌ๋ฌ ๋ชจ๋์์ ๊ณตํต์ผ๋ก ํ์ฉํ๋ ๊ธฐ๋ฅ๊ณผ ๊ด๋ จ๋ ๋ก์ง์ด ํฌํจ๋๋ค.๐build.gradle
: core ๋ชจ๋์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ธํ๊ณ ๋น๋์ ๊ด๋ จ๋ ์ธํ ์ ํ๋ ํ์ผ์ด๋ค.
๐build.gradle
: ์ ์ฒด ํ๋ก์ ํธ์ ์ ์ฉ๋๋ ์คํ๋ง ๋ถํธ ๋ฒ์ ์ ์ค์ ํ๊ณ sub module ์ ์ค์ ํ๋ ํ์ผ์ด๋ค.๐settings.gradle
: sub module ์ ์ ์ธํ๊ธฐ ์ํ ํ์ผ์ด๋ค.๐.gitignore
: git ์ ์ฌ๋ผ๊ฐ์ง ์์์ผ ํ ํ์ผ์ ์ ์ํ๋ ํ์ผ์ด๋ค.
- api ์๋ํฌ์ธํธ ๋ฐ ์๋น์ค ๋ก์ง์ ๋ํ ํ ์คํธ ์ฝ๋๋ฅผ ๊ฐ๊ธ์ ์์ฑํ๋ค.
- ๋ฐํํ api ์ ๋ํ ๋ช
์ธ๋ฅผ
๐์์ ํ ๋ชจ๋/src/docs/asciidoc/api-doc.adoc
์ ์ถ๊ฐํ๋ค. - ์์ ํ ๋ชจ๋์ ํ ์คํธ ์ฝ๋๋ฅผ ์ ์ฒด ์คํํ๋ค. ์ค๋ฅ๊ฐ ๋๋ค๋ฉด ์์ ํ๋ค.
- DB ๊ด๋ จ ์์ ์ฌํญ์ ํ ์คํธ ํ๊ฒฝ DB์ ๋ฐ์ํ๋ค.
application.yml
๊ด๋ จ ์์ ์ฌํญ์ jenkins ์๋ฒ๐/var/lib/jenkins/workspace/resources/test/application.yml
์ ์์ ํ๋ค.- jenkins ์์ ๋ชจ๋๋ช -develop ์ํฌ์คํ์ด์ค๋ฅผ ์๋ ๋น๋ํ๋ค.
- DB ๊ด๋ จ ์์ ์ฌํญ์ ํ๋ก๋์ ํ๊ฒฝ DB์ ๋ฐ์ํ๋ค.
- develop ๋ธ๋ฐ์น๋ฅผ production ๋ธ๋ฐ์น๋ก ๋ณํฉํ๋ค.
application.yml
๊ด๋ จ ์์ ์ฌํญ์ jenkins ์๋ฒ๐/var/lib/jenkins/workspace/resources/application.yml
์ ์์ ํ๋ค.- jenkins ์์ ๋ชจ๋๋ช -production ์์ดํ ์ ์๋ ๋น๋ํ๋ค.