Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[chore] main push #149

Merged
merged 146 commits into from
Sep 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
1161cf0
[feat] response μ»€μŠ€ν…€ (#3)
wjdtkdgns May 5, 2023
d5f86e6
[feat] 곡톡 μ—λŸ¬ 처리 μ…‹νŒ… (#5)
wjdtkdgns May 6, 2023
bfaa072
[feat] WebSecurity μ„€μ • #4
suhhyun524 May 6, 2023
6396fb4
[feat] CustomUser μž‘μ„± #4
suhhyun524 May 6, 2023
924d5b3
[feat] Filter κ΅¬ν˜„ #4
suhhyun524 May 6, 2023
7551ba5
[feat] TokenProvider, token κ΄€λ ¨ ErrorCode, Exception μ •μ˜ #4
suhhyun524 May 6, 2023
0b47782
[refactor] μ½”λ“œ 가독성 μΆ”κ°€ 및 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” μ½”λ“œ μ‚­μ œ #4
suhhyun524 May 6, 2023
89228ed
Merge pull request #6 from CEOS-Developers/feat/security
suhhyun524 May 7, 2023
39d58bf
[feat] Spring Security λ³€μˆ˜ 관리 및 μ—λŸ¬ 적용 (#8)
suhhyun524 May 7, 2023
b746d6a
[feat] μ—λŸ¬ slack μ•Œλ¦Ό κ΅¬ν˜„ (#11)
wjdtkdgns May 8, 2023
ab29d23
[feat] Swagger μ„€μ • (#15)
yourzinc May 9, 2023
f7a84f7
[feat] 배포 μ„€μ • 파일 κ΅¬ν˜„ (#18)
chaeshee0908 May 9, 2023
f79c4b6
[feat] Swagger JWT μ„€μ • (#19)
yourzinc May 9, 2023
0a3384b
[feat] DB 도메인 생성 (#20)
yourzinc May 12, 2023
882bff4
[feat] 메일 μ„œλΉ„μŠ€ κ΅¬ν˜„ (#21)
wjdtkdgns May 16, 2023
ce88b8b
[feat] otDate, demodayDate ν•„λ“œ μˆ˜μ • (#24)
yourzinc May 17, 2023
fa53eb3
[feat] s3 연동 (#28)
hyunihs May 20, 2023
107d251
[feat] μ§€μ›ν•˜κΈ° κΈ°λŠ₯ 및 검증 둜직 (#26)
wjdtkdgns May 20, 2023
d97e02f
Merge branch 'dev' into feat/presigned-url
hyunihs May 20, 2023
25c2d94
[feat] getPresignedUrl κ΅¬ν˜„ (#28)
hyunihs May 20, 2023
8e0a665
[feat] s3client λŒ€μ‹  s3 presigner μ‚¬μš©μœΌλ‘œ λ³€κ²½ (#28)
hyunihs May 20, 2023
b4828d2
[add] awsconfig bean 이용 (#28)
hyunihs May 20, 2023
3ef1273
[chore] rename component (#28)
hyunihs May 20, 2023
5651ce2
[feat] s3 url dto μž‘μ„± (#28)
hyunihs May 20, 2023
547e4e7
[feat] presigned url controller μž‘μ„± (#28)
hyunihs May 20, 2023
67e0591
[style] 쀄 간격 λ„μš°κΈ° (#28)
hyunihs May 20, 2023
ddc7ba5
[feat] 합격 확인 κΈ°λŠ₯ κ΅¬ν˜„ 및 slack μ—°κ²° (#31)
wjdtkdgns May 21, 2023
cb2416f
Merge branch 'dev' into feat/presigned-url
hyunihs May 21, 2023
7306f0a
[refact] service, handler μ‚¬μš© (#28)
hyunihs May 21, 2023
580393b
[fix] μ—…λ‘œλ“œμš© url둜 (#28)
hyunihs May 22, 2023
4ed550c
Merge pull request #32 from CEOS-Developers/feat/presigned-url
hyunihs May 22, 2023
e129a40
[feat] μ§€μ›μ„œ κ΄€λ ¨ λ³€κ²½ κΈ°λŠ₯ κ΅¬ν˜„ (#35)
wjdtkdgns May 23, 2023
7d621b1
[feat] Admin κ΄€λ ¨ κΈ°λŠ₯ κ΅¬ν˜„ (#36)
suhhyun524 May 23, 2023
ca38009
[feat] Management λͺ¨λ“  κΈ°λŠ₯ κ΅¬ν˜„ (#40)
chaeshee0908 May 24, 2023
8233c95
[feat] Activity κ΄€λ ¨ κΈ°λŠ₯ κ΅¬ν˜„ (1) (#37)
yourzinc May 24, 2023
99cd093
[feat] λ¦¬ν¬λ£¨νŒ… κ΄€λ ¨ κΈ°λŠ₯ κ΅¬ν˜„ (#41)
hyunihs May 24, 2023
c3d9fdb
[fix] slack deprecated api μ§€μš°κΈ°
hyunihs May 24, 2023
cddeb3a
[feat] μ§€μ›μ„œ 정보 보기 κΈ°λŠ₯ κ΅¬ν˜„ (#42)
wjdtkdgns May 25, 2023
f92788a
[add] cors μΆ”κ°€ (#45)
suhhyun524 May 27, 2023
7d3939c
[refactor] management κ΅¬ν˜„ κΈ°λŠ₯ λ¦¬νŒ©ν† λ§ (#47)
chaeshee0908 May 29, 2023
9e5b460
[feat] Sponsor κ΄€λ ¨ κΈ°λŠ₯ 전체 κ΅¬ν˜„ (#49)
chaeshee0908 May 30, 2023
5233b66
[feat] FAQ κ΄€λ ¨ κΈ°λŠ₯ 전체 κ΅¬ν˜„ (#51)
chaeshee0908 Jun 3, 2023
dbaf5b9
[feat] κ΄€λ¦¬μž κΈ°λŠ₯ κ΅¬ν˜„ (#53)
suhhyun524 Jun 5, 2023
fb4547b
[feat] Awards κ΄€λ ¨ κΈ°λŠ₯ κ΅¬ν˜„ (#54)
hyunihs Jun 5, 2023
91a3b84
[feat] ν”„λ‘œμ νŠΈ 관리 κΈ°λŠ₯ κ΅¬ν˜„ (#56)
suhhyun524 Jun 12, 2023
630ca25
[fix] Swagger Patterns μˆ˜μ • (#59)
yourzinc Jun 18, 2023
d67055b
[refactor] FAQ, Sponsor, Management μ‘°νšŒμ‹œ id 컬럼 μΆ”κ°€ (#63)
chaeshee0908 Jun 20, 2023
16e6309
[fix] Swagger 였λ₯˜ (#61)
yourzinc Jun 21, 2023
f8e913f
[fix] μ—λŸ¬μ²˜λ¦¬ μˆ˜μ •
suhhyun524 Jun 22, 2023
fe44e27
[fix] μ—λŸ¬μ²˜λ¦¬ μˆ˜μ •
hyunihs Jun 22, 2023
1d49d9b
[fix] add cors origin, admin patterns
hyunihs Jun 24, 2023
219fbeb
[fix] ν…Œμ΄λΈ”λͺ… λ³€κ²½ ν…ŒμŠ€νŠΈμ½”λ“œμ— 반영
hyunihs Jun 24, 2023
f02dc48
[feat] μ§€μ›μ„œ μ—‘μ…€ λ‹€μš΄λ‘œλ“œ κ΅¬ν˜„ (#57)
yourzinc Jun 25, 2023
64b24d4
[chore] recruitments api μˆ˜μ • (#70)
hyunihs Jun 26, 2023
f97d56e
[refac] Application λ¦¬νŒ©ν† λ§ (#68)
wjdtkdgns Jun 26, 2023
956a80d
[fix] Swagger server url 주석 ν•΄μ œ
yourzinc Jun 26, 2023
0eea6b8
[Add] awards api μˆ˜μ • (#71)
hyunihs Jun 28, 2023
8d6ca04
[feat] Activity κΈ°λŠ₯ μˆ˜μ • (#72)
yourzinc Jun 28, 2023
f38bf78
[feat] μ •λ ¬ μ˜€λ¦„μ°¨μˆœ μˆ˜μ •
yourzinc Jun 28, 2023
28918e1
[fix] project url μˆ˜μ •
yourzinc Jun 28, 2023
b68cb58
refac: application question get api response λ³€κ²½ #73 (#74)
wjdtkdgns Jul 1, 2023
49e41d1
[add] s3 url no-cache μ˜΅μ…˜
hyunihs Jul 2, 2023
5783dbe
Revert "[add] s3 url no-cache μ˜΅μ…˜"
hyunihs Jul 2, 2023
6fb2eea
[feat] λ¦¬ν”„λ ˆμ‹œ 토큰 κ΅¬ν˜„ (#76)
suhhyun524 Jul 7, 2023
0aaceb8
[add] Admin api κΆŒν•œ μˆ˜μ • (#79)
suhhyun524 Jul 7, 2023
abbb792
[add] λΉ„λ°€λ²ˆν˜Έ μž¬μ„€μ • 둜직 μΆ”κ°€ (#80)
suhhyun524 Jul 7, 2023
0938aa6
[fix] λΉ„λ°€λ²ˆν˜Έ μž¬μ„€μ • μ €μž₯ 둜직 μˆ˜μ • #52
suhhyun524 Jul 8, 2023
8888269
[feat] application question response λ³€κ²½ (#78)
wjdtkdgns Jul 9, 2023
312ac0d
[feat] νŒŒνŠΈλ³„ μš΄μ˜μ§„ 쑰회 api κ΅¬ν˜„ (#82)
chaeshee0908 Jul 14, 2023
bdf47dd
[refact] ν”„λ‘œμ νŠΈ 이미지 개수 μˆ˜μ • (#84)
suhhyun524 Jul 15, 2023
9d6af8a
[feat] ν”„λ‘œμ νŠΈ 이미지 μ—…λ‘œλ“œ API κ΅¬ν˜„ (#85)
suhhyun524 Jul 15, 2023
8cd8dbb
[feat] application 질문 κ΄€λ ¨ response λ³€κ²½ (#87)
wjdtkdgns Jul 16, 2023
42d96c7
[feat] application 전체보기 sorting μΆ”κ°€ (#88)
wjdtkdgns Jul 17, 2023
f730179
[feat] μ§€μ›ν•˜κΈ° request validation μˆ˜μ •
wjdtkdgns Jul 17, 2023
0a42166
[refact] award page num μˆ˜μ •
hyunihs Jul 18, 2023
c81dff8
chore: update CODEOWNERS
hyunihs Jul 18, 2023
b01acd6
[fix] μ—λŸ¬ 처리 쑰건 μΆ”κ°€ (#90)
wjdtkdgns Jul 18, 2023
b414bf8
[refact] λ¦¬ν¬λ£¨νŒ… 정보 μˆ˜μ • μ œν•œ 제거 (#92)
hyunihs Jul 19, 2023
04bee0f
[fix] award νŽ˜μ΄μ§€μ—μ„œ max generation μ°Ύμ„λ•Œ project κΈ°μ€€μœΌλ‘œ μ°ΎκΈ° (#93)
hyunihs Jul 19, 2023
6350a0b
[refac] μ§€μ›μ„œ 전체 뢈러였기 sorting μΆ”κ°€ (#91)
wjdtkdgns Jul 20, 2023
5e0d7c9
[refact] application 전체 보기 μ •λ ¬ 뢄리 (#94)
wjdtkdgns Jul 20, 2023
87a903d
[refact] νŽ˜μ΄μ§• ν•„λ“œλͺ… content둜 톡일 (#96)
hyunihs Jul 20, 2023
5dd79a0
[fix] award νŽ˜μ΄μ§• 버그 ν•΄κ²°
hyunihs Jul 20, 2023
751462e
[refact] 인터뷰 μ‹œκ°„ μ •ν•˜κΈ° request λ³€κ²½ (#98)
wjdtkdgns Jul 21, 2023
a84be9d
[refact] application λ¦¬νŒ©ν† λ§ (#99)
wjdtkdgns Jul 21, 2023
9812092
[refact] awards μΆ”κ°€, μˆ˜μ • κΈ°μˆ˜λ³„λ‘œ λ¬Άμ–΄μ„œ ν•œλ²ˆμ— μš”μ²­ (#102)
hyunihs Jul 21, 2023
982597a
[chore] spotless 적용 (#103)
wjdtkdgns Jul 21, 2023
c6acec3
[add] κΈ°μˆ˜λ³„ μˆ˜μƒμ΄λ ₯ μ „μ²΄μ‚­μ œ (#104)
hyunihs Jul 22, 2023
e7afc29
[refac] application 전체보기 response λ³€κ²½ (#106)
wjdtkdgns Jul 22, 2023
69960d3
[feat] μ§€μ›μ„œ μ—‘μ…€ 파일 생성 μ‹œκ° API κ΅¬ν˜„ (#107)
yourzinc Jul 22, 2023
9a7aec6
[fix] Gradle build spotless μ—λŸ¬ (#109)
yourzinc Jul 22, 2023
b7c4050
[feat] sponsor ν•˜λ‚˜ 쑰회 api κ΅¬ν˜„ #110 (#111)
chaeshee0908 Jul 22, 2023
65f46a3
[refact] Project λ¦¬νŒ©ν† λ§ (#113)
suhhyun524 Jul 23, 2023
3c7b800
[refact] κ²°κ³Ό 확인 response λ³€κ²½ (#114)
wjdtkdgns Jul 23, 2023
587717c
[refact] Admin λ¦¬νŒ©ν† λ§ (#116)
suhhyun524 Jul 23, 2023
fee5e88
[refact] application security μˆ˜μ • (#117)
wjdtkdgns Jul 24, 2023
8386537
[refact] security config λ³€κ²½
wjdtkdgns Jul 26, 2023
43a3519
[fix] 토큰 μž¬λ°œκΈ‰ 둜직 μˆ˜μ • (#119)
suhhyun524 Jul 30, 2023
abea608
[refact] 합격 쑰회 response μˆ˜μ • (#120)
wjdtkdgns Jul 30, 2023
67d8464
chore: add cors origin
hyunihs Aug 1, 2023
afc71dd
[chore] add cors origin
hyunihs Aug 1, 2023
18ce0ca
[feat] μ„œλ₯˜ κ²°κ³Ό ν™•μΈν•˜κΈ° κΈ°λŠ₯ 500 ν•΄κ²° (#122)
wjdtkdgns Aug 2, 2023
e91f2dc
[fix] μ„œλ₯˜ 합격 확인 response μˆ˜μ • (#123)
wjdtkdgns Aug 2, 2023
82698fe
[refact] ν”„λ‘œμ νŠΈ μˆœμ„œ λ³€κ²½ (#125)
suhhyun524 Aug 5, 2023
4d85cff
[fix] application question κ°€μ Έμ˜€κΈ° response λ³€κ²½ (#126)
wjdtkdgns Aug 6, 2023
7555508
[refact] ν”„λ‘œμ νŠΈ 생성 API λ³€κ²½ (#128)
suhhyun524 Aug 6, 2023
f3c2d3b
[refact] ν”„λ‘œμ νŠΈ 생성 API μˆ˜μ • (#129)
suhhyun524 Aug 6, 2023
11eb17f
[refact] ν”„λ‘œμ νŠΈ νŒ€μ›λͺ…에 null ν—ˆμš© #127
suhhyun524 Aug 6, 2023
5527130
[refact] ν”„λ‘œμ νŠΈ νŒ€μ›λͺ…에 null ν—ˆμš© #127
suhhyun524 Aug 6, 2023
8bc94e5
[refact] ν”„λ‘œμ νŠΈ νŒ€μ›λͺ…에 null ν—ˆμš© #127
suhhyun524 Aug 6, 2023
45bdf92
[fix] μ§€μ›ν•˜κΈ° hibernate 500 μ—λŸ¬ ν•΄κ²° (#132)
wjdtkdgns Aug 7, 2023
460ac82
[refact] 기수 ν™œλ™μ‹œκΈ° ν…Œμ΄λΈ” 뢄리 (#133)
hyunihs Aug 7, 2023
39d2bac
[add] 기수 μˆ˜μƒλ‚΄μ—­μ΄ μžˆμ„λ•Œ λ‹€μ‹œ μΆ”κ°€μ‹œ μ—λŸ¬μ²˜λ¦¬ (#134)
hyunihs Aug 7, 2023
a6725ab
[refact] ν™œλ™μ‹œμž‘μ‹œκΈ° μ—†μœΌλ©΄ null λ„£κΈ° (#135)
hyunihs Aug 7, 2023
3303132
[feat] question μˆ˜μ •, μ΅œμ’… 합격 μ—¬λΆ€ 쑰회 μ„œλΉ„μŠ€ validation μΆ”κ°€ (#137)
wjdtkdgns Aug 7, 2023
8c85830
[chore] Awards μ—”ν‹°ν‹° BaseEntity 상속
hyunihs Aug 7, 2023
f33eac1
[refactor] λ©΄μ ‘ μ‹œκ°„ μ •λ ¬ μΆ”κ°€ (#138) (#139)
yourzinc Aug 7, 2023
6f3a775
[refact] startDate String ν˜•μœΌλ‘œ
hyunihs Aug 7, 2023
1b5bb39
Merge branch 'dev' of https://github.com/CEOS-Developers/CEOS-BE into…
hyunihs Aug 7, 2023
f98ee26
[chore] spotless 적용
hyunihs Aug 7, 2023
ea692bd
[fix] PermittedUrl μˆ˜μ •
suhhyun524 Aug 12, 2023
c0f571b
Merge branch 'dev' of https://github.com/CEOS-Developers/CEOS-BE into…
suhhyun524 Aug 12, 2023
241b26c
[add] μž„μ‹œμ–΄λ“œλ―Ό 둜그인 차단 (#141)
suhhyun524 Aug 12, 2023
dc99d70
[fix] 둜그인 api νŒ¨ν„΄μ—μ„œ μ œμ™Έ #140
suhhyun524 Aug 12, 2023
6308e7c
[refact] origin ν—ˆμš© μž„μ‹œ μΆ”κ°€ (#143)
yourzinc Aug 14, 2023
7f837b2
[refact] ν”„λ‘œμ νŠΈ νŽ˜μ΄μ§€ μ •λ ¬ μˆ˜μ •, ν”„λ‘œμ νŠΈ 이미지 κ΄€λ ¨ μˆ˜μ • (#145)
hyunihs Aug 16, 2023
2f24ee7
[chore] κ³Όκ±° μˆ˜μƒλ‚΄μ—­ 기수 0으둜 μ €μž₯
hyunihs Aug 16, 2023
4429d3d
[chore] κ³Όκ±° μˆ˜μƒλ‚΄μ—­ 기수 0으둜 μ €μž₯
hyunihs Aug 16, 2023
64417b5
[docs] 주석 μ„€λͺ… μΆ”κ°€
hyunihs Aug 16, 2023
7735e55
[chore] 1~9κΈ° μˆ˜μƒλ‚΄μ—­ ν•©μ³μ„œ 처리
hyunihs Aug 17, 2023
b9f068b
[fix] λ‘œκ·Έμ•„μ›ƒ METHOD λ³€κ²½
suhhyun524 Aug 18, 2023
35eb6a0
[fix] λ¦¬ν”„λ ˆμ‹œν† ν° μž¬λ°œκΈ‰ 둜직 λ³€κ²½
suhhyun524 Aug 18, 2023
ec6f3e3
[refactor] management vo 디렉토리 이름 μˆ˜μ •
chaeshee0908 Aug 18, 2023
0d2380f
[chore] add enum
hyunihs Aug 19, 2023
d5f189e
[feat] swagger λΉ„λ°€λ²ˆν˜Έ μ…‹νŒ… (#147)
wjdtkdgns Aug 20, 2023
d4cf260
[chore] update origin
hyunihs Aug 20, 2023
df5a827
[fix] νŽ˜μ΄μ§• 쀑볡 제거
hyunihs Aug 20, 2023
d039f4c
[fix] μ‹œκ°„ λ‹¨μœ„ μˆ˜μ •
suhhyun524 Aug 22, 2023
0918a1f
[fix] νŽ˜μ΄μ§• 쀑볡 및 λˆ„λ½ ν•΄κ²°
hyunihs Aug 26, 2023
f252a51
[fix] μ—‘μ…€ 헀더 μˆ˜μ •
hyunihs Aug 29, 2023
fb1dbee
[chore] λ¦¬ν¬λ£¨νŒ… μ •λ³΄μ—μ„œ openChatUrl μ‚­μ œ
hyunihs Aug 31, 2023
60cba38
Revert "[chore] λ¦¬ν¬λ£¨νŒ… μ •λ³΄μ—μ„œ openChatUrl μ‚­μ œ"
hyunihs Aug 31, 2023
bb185a5
[refactor] λ¦¬ν¬λ£¨νŒ… 정보, μ˜€ν”ˆμ±„νŒ… 링크 api 뢄리
hyunihs Aug 31, 2023
998cde6
[refactor] 쀑볡 μ½”λ“œ ν•©μΉ˜κΈ°
hyunihs Aug 31, 2023
269e289
[chore] 넀이밍 μˆ˜μ •
hyunihs Aug 31, 2023
0b1da56
[refact] dev, prod μ„œλ²„ 뢄리
hyunihs Sep 22, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1 +1 @@
* @wjdtkdgns @yourzinc @Jeong-Hyeon-Lee @chaeshee0908 @suhhyun524
* @wjdtkdgns @yourzinc @hyunihs @chaeshee0908 @suhhyun524
102 changes: 102 additions & 0 deletions .github/workflows/deploy_dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
name: Deploy to EC2

on:
push:
branches:
- dev

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
steps:
# κΈ°λ³Έ 체크아웃
- name: Checkout
uses: actions/checkout@v3

# JDK version μ„€μ •
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'

# κ·Έλž˜λ“€ 캐싱
- name: Gradle Caching
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-

- name: Make application-secret.yml
run: |
touch ./src/main/resources/application-secret.yml
echo "${{ secrets.APPLICATION_SECRET }}" > ./src/main/resources/application-secret.yml
env:
PROPERTIES_DEV: ${{ secrets.APPLICATION_SECRET }}

# Gradle build
- name: Build with Gradle
run: ./gradlew build -x test :spotlessApply

- name: Docker meta
id: docker_meta
uses: crazy-max/ghaction-docker-meta@v1
with:
images: ceos/ceos-server-dev

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Docker build & push
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
platforms: linux/amd64
push: true
tags: ${{ secrets.DOCKER_USERNAME }}/ceos-backend-dev

- name: create remote directory
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_HOST_DEV }}
username: ubuntu
key: ${{ secrets.EC2_KEY }}
script: mkdir -p ~/srv/ubuntu/ceos_web_dev

- name: copy source via ssh key
uses: burnett01/[email protected]
with:
switches: -avzr --delete
remote_path: ~/srv/ubuntu/
remote_host: ${{ secrets.EC2_HOST_DEV }}
remote_user: ubuntu
remote_key: ${{ secrets.EC2_KEY }}

- name: executing remote ssh commands using password
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_HOST_DEV }}
username: ubuntu
key: ${{ secrets.EC2_KEY }}
script: |
sh ~/srv/ubuntu/config/scripts/deploy.sh
sudo docker stop $(sudo docker ps -a -q)
sudo docker rm $(sudo docker ps -a -q)
sudo docker rmi $(sudo docker images -q)
sudo docker-compose -f ~/srv/ubuntu/docker-compose.yml pull
sudo docker-compose -f ~/srv/ubuntu/docker-compose.yml up --build -d

102 changes: 102 additions & 0 deletions .github/workflows/deploy_prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
name: Deploy to EC2

on:
push:
branches:
- main

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
steps:
# κΈ°λ³Έ 체크아웃
- name: Checkout
uses: actions/checkout@v3

# JDK version μ„€μ •
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'

# κ·Έλž˜λ“€ 캐싱
- name: Gradle Caching
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-

- name: Make application-secret.yml
run: |
touch ./src/main/resources/application-secret.yml
echo "${{ secrets.APPLICATION_SECRET }}" > ./src/main/resources/application-secret.yml
env:
PROPERTIES_DEV: ${{ secrets.APPLICATION_SECRET }}

# Gradle build
- name: Build with Gradle
run: ./gradlew build -x test :spotlessApply

- name: Docker meta
id: docker_meta
uses: crazy-max/ghaction-docker-meta@v1
with:
images: ceos/ceos-server-dev

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Docker build & push
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
platforms: linux/amd64
push: true
tags: ${{ secrets.DOCKER_USERNAME }}/ceos-backend-dev

- name: create remote directory
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_HOST_PROD }}
username: ubuntu
key: ${{ secrets.EC2_KEY }}
script: mkdir -p ~/srv/ubuntu/ceos_web_dev

- name: copy source via ssh key
uses: burnett01/[email protected]
with:
switches: -avzr --delete
remote_path: ~/srv/ubuntu/
remote_host: ${{ secrets.EC2_HOST_PROD }}
remote_user: ubuntu
remote_key: ${{ secrets.EC2_KEY }}

- name: executing remote ssh commands using password
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_HOST_PROD }}
username: ubuntu
key: ${{ secrets.EC2_KEY }}
script: |
sh ~/srv/ubuntu/config/scripts/deploy.sh
sudo docker stop $(sudo docker ps -a -q)
sudo docker rm $(sudo docker ps -a -q)
sudo docker rmi $(sudo docker images -q)
sudo docker-compose -f ~/srv/ubuntu/docker-compose.yml pull
sudo docker-compose -f ~/srv/ubuntu/docker-compose.yml up --build -d

4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/
/dump.rdb

### STS ###
.apt_generated
Expand Down Expand Up @@ -37,3 +38,6 @@ out/
.vscode/

.DS_Store

### application ###
application-secret.yml
5 changes: 5 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FROM openjdk:17
EXPOSE 80
ARG JAR_FILE=/build/libs/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","-Duser.timezone=Asia/Seoul","-Dspring.profiles.active=dev","/app.jar"]
40 changes: 40 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ plugins {
id 'java'
id 'org.springframework.boot' version '3.0.6'
id 'io.spring.dependency-management' version '1.1.0'
id 'com.diffplug.spotless' version '6.11.0'
}

group = 'ceos'
Expand All @@ -21,14 +22,53 @@ repositories {
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation group: 'io.jsonwebtoken', name: 'jjwt-api', version: '0.11.5'
runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-impl', version: '0.11.5'
runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-jackson', version: '0.11.5'

runtimeOnly 'com.mysql:mysql-connector-j'

// slack
implementation("com.slack.api:slack-api-client:1.28.0")

// swagger
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.0'
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-api:2.0.0'
implementation 'org.springframework.boot:spring-boot-starter-validation'

// ses
implementation group: 'software.amazon.awssdk', name: 'ses', version: "2.19.29"
implementation('org.springframework.boot:spring-boot-starter-thymeleaf')

//s3
implementation group: 'software.amazon.awssdk', name: 's3', version: "2.20.68"

implementation 'com.fasterxml.jackson.core:jackson-databind:2.14.2'

// Apache POI
implementation 'org.apache.poi:poi:4.1.2'
implementation 'org.apache.poi:poi-ooxml:4.1.2'
}

tasks.named('test') {
useJUnitPlatform()
}

spotless {
java {
target("**/*.java")
googleJavaFormat().aosp()
importOrder()
removeUnusedImports()
trimTrailingWhitespace()
endWithNewline()
}
}
2 changes: 2 additions & 0 deletions config/nginx/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FROM nginx:1.23.2
COPY ./default.conf /etc/nginx/conf.d/default.conf
12 changes: 12 additions & 0 deletions config/nginx/default.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
server {
listen 80;
listen [::]:80;

location / {
proxy_set_header Host $host;
proxy_pass http://backend-dev:8080/;
proxy_read_timeout 90;

## try_files $uri $uri/ =404;
}
}
24 changes: 24 additions & 0 deletions config/scripts/deploy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/bash

# Installing docker engine if not exists
if ! type docker > /dev/null
then
echo "docker does not exist"
echo "Start installing docker"
sudo apt-get update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
apt-cache policy docker-ce
sudo apt install -y docker-ce
fi

# Installing docker-compose if not exists
if ! type docker-compose > /dev/null
then
echo "docker-compose does not exist"
echo "Start installing docker-compose"
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
fi
26 changes: 26 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
version: "3"

services:
backend-dev:
image: ceos17/ceos-backend-dev
container_name: backend-dev
hostname: backend-dev
expose:
- "8080"

nginx:
depends_on:
- backend-dev
restart: always
build:
dockerfile: Dockerfile
context: ./config/nginx
ports:
- "80:80"

redis:
image: redis:latest
container_name: redis
hostname: redis
ports:
- "6379:6379"
12 changes: 8 additions & 4 deletions src/main/java/ceos/backend/BackendApplication.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
package ceos.backend;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
import org.springframework.scheduling.annotation.EnableAsync;

@SpringBootApplication
@EnableAsync
@EnableJpaAuditing
public class BackendApplication {

public static void main(String[] args) {
SpringApplication.run(BackendApplication.class, args);
}

public static void main(String[] args) {
SpringApplication.run(BackendApplication.class, args);
}
}
Loading
Loading