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

Develop -> Main: Init Deploy #240

Merged
merged 214 commits into from
Apr 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
214 commits
Select commit Hold shift + click to select a range
c9e039a
feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)
skfotakf Jul 25, 2023
f849a63
chore: .idea 디렉토리 삭제
leeeryboy Jul 26, 2023
54ef587
chore: PR 템플릿 생성 (#2)
leeeryboy Jul 23, 2023
3a92906
feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)
leeeryboy Jul 26, 2023
c2f7ef8
feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)
skfotakf Jul 28, 2023
227a385
feat: 구성원(교수) 생성 및 조회 API 구현 (#8)
leeeryboy Jul 31, 2023
92a8e8b
Docs: Swagger 추가 (#7)
huGgW Jul 31, 2023
00566f2
feat: 페이지네이션+검색 기능 추가 (#5)
skfotakf Aug 1, 2023
38de652
CICD: 배포 자동화 (#6)
huGgW Aug 1, 2023
1a75adf
feat: 구성원(교수) 수정 및 삭제 API (#9)
leeeryboy Aug 5, 2023
42249ba
feat: 구성원(행정직원) CRUD API (#10)
leeeryboy Aug 5, 2023
41bb4fd
feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)
skfotakf Aug 8, 2023
3bbccb9
Merge branch 'main' into develop
leeeryboy Aug 8, 2023
7e3ea8e
fix: main에서 develop으로 pr (#16)
skfotakf Aug 9, 2023
6c5afe2
feat: seminar 패키지 추가 (#17)
skfotakf Aug 11, 2023
a550011
hotfix: 불필요한 dto 삭제 (#20)
skfotakf Aug 11, 2023
e2b3dec
fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)
leeeryboy Aug 14, 2023
0813562
feat: introduction 패키지, undergraduate 패키지 추가 (#22)
skfotakf Aug 15, 2023
cffac41
feat: admissions, research 패키지 추가 (#23)
skfotakf Aug 15, 2023
21b7dd7
Merge branch 'main' into develop
leeeryboy Aug 16, 2023
d2c341c
feat: oidc 로그인 (#27)
leeeryboy Aug 22, 2023
e05b5ad
feat: cors 설정 (#30)
leeeryboy Aug 22, 2023
bf61a06
Merge branch 'main' into develop
leeeryboy Aug 22, 2023
28fa788
fix: cors 추가 설정 (#32)
leeeryboy Aug 22, 2023
3e0f8e7
fix: CORS (#34)
leeeryboy Aug 23, 2023
3fae6a4
Merge branch 'main' into develop
leeeryboy Aug 23, 2023
a86542c
fix: about, academics, admissions 패키지 수정 (#25)
skfotakf Aug 24, 2023
cc256bf
feat: 일반 예약 및 정기 예약 API (#28)
leeeryboy Aug 24, 2023
13161c9
feat: 예약 조회 API (#39)
leeeryboy Aug 28, 2023
191f6f6
feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)
skfotakf Aug 29, 2023
455ded8
CICD: Change deploy port to 8080 (#40)
huGgW Aug 29, 2023
f8862c8
Merge branch 'main' into develop
huGgW Aug 29, 2023
f629d47
[Merge] (#41) (#42)
leeeryboy Aug 29, 2023
7b78310
feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)
leeeryboy Aug 30, 2023
233a8e6
feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)
leeeryboy Aug 30, 2023
b86741f
feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)
skfotakf Aug 30, 2023
fb5193f
feat: Top Conference List GET API (#47)
leeeryboy Aug 30, 2023
d479520
feat: 파일 서빙, 다운로드, 삭제 API (#48)
leeeryboy Aug 31, 2023
3b5d67a
feat: 공지사항 글쓴이 추가 (#49)
leeeryboy Aug 31, 2023
b8fca73
CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)
huGgW Aug 31, 2023
8b38588
fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)
skfotakf Sep 1, 2023
3565704
fix: research 패키지 프론트에 맞춰 협의 (#52)
skfotakf Sep 2, 2023
79ca736
[Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)
huGgW Sep 2, 2023
46cee1c
fix: https 적용 관련 로그인 수정 (#56)
leeeryboy Sep 2, 2023
6d8a2fc
fix: notice 패키지 프론트에 맞게 협의 (#54)
skfotakf Sep 2, 2023
068a38b
feat: 신임교수초빙 (#59)
leeeryboy Sep 2, 2023
d546a9f
feat: 행정실 권한 체크 API (#60)
leeeryboy Sep 2, 2023
6f23b0e
[CICD] mainImage, attachment 경로 mount 설정 (#55)
huGgW Sep 3, 2023
d806f6c
[Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)
huGgW Sep 3, 2023
c0d71c0
Merge branch 'main' into develop
huGgW Sep 3, 2023
d99ac71
Merge branch 'main' into develop
huGgW Sep 3, 2023
433a2bf
fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)
leeeryboy Sep 3, 2023
878b4f4
fix: 로그아웃 엔드포인트 변경 (#64)
leeeryboy Sep 3, 2023
f79edc9
[Fix] Notice, News Description TEXT type으로 변환 (#65)
huGgW Sep 4, 2023
f47b845
fix: newsSearchResponse, seminarSearchResponse 수정 (#66)
skfotakf Sep 4, 2023
0c83efb
fix: 파일 업로드 경로 통일 (#68)
leeeryboy Sep 4, 2023
b1985bb
fix: 갯수만 fetch하도록 최적화 (#70)
leeeryboy Sep 5, 2023
46320ff
Fix: Change type of additionalNote column on SeminarEntity to "TEXT" …
huGgW Sep 5, 2023
a3e803f
fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)
skfotakf Sep 5, 2023
a3514fb
Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)
huGgW Sep 6, 2023
9f406af
Feat: Add plain text description for notice (#74)
huGgW Sep 7, 2023
0ce4199
fix: admissions 패키지 프론트에 맞게 협의 (#76)
skfotakf Sep 8, 2023
6876bd6
fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)
leeeryboy Sep 8, 2023
b56ff8a
CI/CD: Test 설정 (#77)
huGgW Sep 8, 2023
b882c3a
[Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)
huGgW Sep 8, 2023
8d5627c
[Feat] Seminar plain text field 추가 (#79)
huGgW Sep 8, 2023
d2c0366
Feat: News plain text field 추가 (#80)
huGgW Sep 8, 2023
a409fa8
Feat: 구성원 검색 위한 table 추가. (#81)
huGgW Sep 8, 2023
b60f716
fix: 새소식 세미나 쿼리 수정 (#82)
leeeryboy Sep 9, 2023
6f72689
fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)
skfotakf Sep 10, 2023
cb9e3a1
fix: isPublic -> isPrivate으로 정리 (#86)
skfotakf Sep 11, 2023
cfc872e
Merge branch 'main' into develop
leeeryboy Sep 11, 2023
471b128
feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)
leeeryboy Sep 11, 2023
c06e73b
Feat: 구성원 검색 API 추가 (#85)
huGgW Sep 11, 2023
ea640a4
Merge branch 'main' into develop
skfotakf Sep 11, 2023
cba2428
fix: 세미나 시간 타입 변경 (#91)
leeeryboy Sep 11, 2023
0a57a08
fix: 태그 항목 수정 (#92)
leeeryboy Sep 11, 2023
e37b804
fix: news tag 추가 (#90)
skfotakf Sep 11, 2023
aba7c1c
Merge branch 'main' into develop
huGgW Sep 11, 2023
944250b
feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)
skfotakf Sep 11, 2023
a5b69d4
fix: conference 주소 추가 (#95)
skfotakf Sep 11, 2023
149f76d
Merge branch 'main' into develop
skfotakf Sep 11, 2023
2bbcb2a
Feat: 연구 탭 통합검색 위한 Table 생성. (#97)
huGgW Sep 12, 2023
5225232
Feat: Lab Update API 추가 (#98)
huGgW Sep 12, 2023
ba8aace
Feat: Conference page 수정 API (#99)
huGgW Sep 12, 2023
fcdac36
Merge branch 'main' into develop
huGgW Sep 12, 2023
33372fe
fix: 파일 관련 수정 (#100)
leeeryboy Sep 12, 2023
d5d3b7c
fix: GET notice 권한 관련 로직 수정 (#101)
leeeryboy Sep 12, 2023
e4266bf
Refactor: Extract Full Text Query Template to CommonRepository (#102)
huGgW Sep 12, 2023
028f52d
Feat: Notice Seminar News Search to Full Text Query (#105)
huGgW Sep 12, 2023
8b9d383
feat: api 권한 설정 (#84)
leeeryboy Sep 12, 2023
236af47
fix: GET notice 권한 관련 로직 수정 (#109)
leeeryboy Sep 12, 2023
0920fe8
Merge branch 'main' into develop
leeeryboy Sep 12, 2023
ec80102
fix: 필요한 column만 select (#111)
leeeryboy Sep 12, 2023
5a83833
refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)
leeeryboy Sep 13, 2023
e6550d2
fix: 공지 새소식 PATCH 로직 수정 (#114)
leeeryboy Sep 13, 2023
019db1b
fix: news 엔티티에 날짜 추가 (#115)
skfotakf Sep 14, 2023
32abd66
Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)
huGgW Sep 15, 2023
1552344
fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)
leeeryboy Sep 15, 2023
1d23dda
fix: 예약 조회 권한 분리 및 응답 단순화 (#119)
leeeryboy Sep 15, 2023
11631f7
fix: 로그인 리다이렉트 엔드포인트 복구 (#121)
leeeryboy Sep 16, 2023
e00fb7a
feat: migrateAbout, migrateFutureCareers 추가 (#118)
skfotakf Sep 16, 2023
c13d027
feat: about 패키지 마이그레이션 추가 (#120)
skfotakf Sep 16, 2023
e744b21
fix: news, notice에 titleForMain 추가 (#125)
skfotakf Sep 17, 2023
d1425e8
feat: LocalDateTime 응답 마지막에 Z 추가 (#126)
leeeryboy Sep 17, 2023
76adbc6
refactor: deleteIds request 내부로 이동 (#127)
leeeryboy Sep 17, 2023
ca4a861
fix: 확장자 중복 버그 (#128)
leeeryboy Sep 17, 2023
eba0ab5
feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)
leeeryboy Sep 17, 2023
8ad3fc8
feat: research, member 패키지 migrate 추가 (#130)
skfotakf Sep 17, 2023
5be02b7
fix: noticeSearchDto에도 private 추가 (#131)
skfotakf Sep 18, 2023
e1b8dbc
Fix: 키워드 추출 함수 수정 (#122)
huGgW Sep 18, 2023
cc141a8
Feat: 통합검색 Notice API 구현 (#123)
huGgW Sep 18, 2023
bb5e7ac
Feat: News 통합 검색 API 구현 (#124)
huGgW Sep 18, 2023
467e25f
fix: 기존 objectMapper 설정 오버라이드 (#132)
leeeryboy Sep 18, 2023
4ead93d
feat: 파일 업로드 컨트롤러 구현 (#133)
leeeryboy Sep 18, 2023
30c538d
Feat: Change titleForMain column to TEXT type. (#134)
huGgW Sep 18, 2023
f8a2303
Merge branch 'main' into develop
leeeryboy Sep 18, 2023
2baab34
hotfix: mixed content issue (#136)
leeeryboy Sep 19, 2023
4ee0dc3
hotfix: loginPage to https (#139)
leeeryboy Sep 19, 2023
fa611df
Merge branch 'main' into develop
leeeryboy Sep 19, 2023
b521544
Merge branch 'main' into develop
huGgW Sep 19, 2023
f337943
fix: false로 수정 (#141)
skfotakf Sep 19, 2023
31e63eb
Merge branch 'main' into develop
huGgW Sep 19, 2023
9693473
fix: 이전 다음 글에서 비공개 글 제외 (#143)
leeeryboy Sep 19, 2023
70eef9c
Feat: 뉴스 날짜로 정렬 (#144)
huGgW Sep 19, 2023
2eafe30
Feat: Add description for slide. (#146)
huGgW Sep 19, 2023
bb4225a
style: ktlint (#145)
leeeryboy Sep 19, 2023
1ba0234
fix: 텍스트 인코딩 (#147)
leeeryboy Sep 19, 2023
5308b4b
Update ktlint-check.yml
leeeryboy Sep 19, 2023
5621bd7
fix: 중요 안내 (#149)
leeeryboy Sep 19, 2023
d698141
Merge branch 'main' into develop
leeeryboy Sep 19, 2023
bfcf358
style: ktlint
leeeryboy Sep 19, 2023
edbc67f
fix: 첨부파일 다운로드 (#154)
leeeryboy Sep 21, 2023
72ff727
Feat: 관리자 슬라이드에 total 추가, refactoring (#153)
huGgW Sep 21, 2023
3ad4b91
fix: 세미나 isYearLast 로직 수정 (#155)
leeeryboy Sep 22, 2023
5f6b6f3
fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)
skfotakf Sep 22, 2023
c82ea86
fix: 메인 공지 정렬 (#158)
leeeryboy Sep 22, 2023
d04db99
fix: 예약 조회 권한 수정 (#157)
leeeryboy Sep 22, 2023
b1a3568
Feat: 통합검색 정렬 최신순 (#156)
huGgW Sep 22, 2023
0129351
Feat: Admin Important에 pagination 추가, total 추가. (#159)
huGgW Sep 22, 2023
b5db132
fix: titleForMain이 없어도 isImportant 등록 가능 (#160)
skfotakf Sep 22, 2023
d2ef059
Merge branch 'main' into develop
skfotakf Sep 22, 2023
902c45b
fix: em.close() 추가 (#162)
skfotakf Sep 23, 2023
3db1459
Merge branch 'main' into develop
skfotakf Sep 23, 2023
85d5222
feat: migrateConference 추가 (#164)
skfotakf Sep 27, 2023
193f410
CICD: Add blocking backend api except frontend. (#166)
huGgW Sep 27, 2023
7dc9cbb
fix: group 변경 반영 (#167)
leeeryboy Sep 28, 2023
d62d7f8
refactor: 실제 스누씨 서버 연동 (#168)
leeeryboy Sep 28, 2023
29f3397
feat: migrateAdmissions 추가 (#165)
skfotakf Sep 28, 2023
28ada75
Merge branch 'main' into develop
leeeryboy Sep 28, 2023
6e3ce83
Merge branch 'main' into develop
huGgW Sep 28, 2023
b5864da
Feat: Increase speakerurl size (#170)
huGgW Oct 14, 2023
20be046
fix: 로컬에서도 idsnucse로 연결 (#174)
leeeryboy Jan 27, 2024
01be994
feat: Research 검색 (#175)
huGgW Feb 3, 2024
f62f9d2
feat: staff 검색 기능 추가 (#176)
skfotakf Feb 6, 2024
f9d2319
Feat: 학사 및 교과 검색 기능 추가 (#177)
huGgW Feb 6, 2024
e593ee1
Fix: Research 검색에서 html 태그 없이 검색되도록 설정 (#178)
huGgW Feb 6, 2024
48edba4
Feat/add language field (#180)
skfotakf Feb 9, 2024
dafdb2f
Refactor: Admission 언어 추가 및 리팩터링 진행 (#182)
huGgW Feb 11, 2024
d664dc4
feat: academics 패키지에 language field 추가 (#181)
skfotakf Feb 11, 2024
1870638
feat: staff에 language, migration 방법 추가 (#183)
skfotakf Feb 15, 2024
424570e
Feat: Admission 검색 (#184)
huGgW Feb 18, 2024
75091b0
Refactor: Remove Location Entity (#186)
huGgW Feb 18, 2024
ccefb4e
feat: member/research 패키지 이미지와 첨부파일 마이그레이션 코드 작성 (#185)
skfotakf Feb 22, 2024
cb93db7
feat: about에서 이미지랑 첨부파일 추가 (#187)
skfotakf Feb 22, 2024
997d408
feat: dev 로그인 (#188)
leeeryboy Feb 24, 2024
8831bb0
fix: professor language 추가 (#189)
skfotakf Feb 27, 2024
ac20a56
Feature: About 검색 추가 (#192)
huGgW Feb 28, 2024
e4ca671
feat: research 패키지에 language 추가 (#194)
skfotakf Feb 29, 2024
a4bfc47
Refactor: Admission 검색 리펙터링 (#193)
huGgW Feb 29, 2024
710fbcc
feat: academics 패키지 마이그레이션 추가 (#195)
skfotakf Mar 1, 2024
f173d87
Merge branch 'main' into develop
skfotakf Mar 1, 2024
eb2fbd6
fix: ktlint 정리
skfotakf Mar 1, 2024
efafa95
Merge remote-tracking branch 'origin/develop' into develop
skfotakf Mar 1, 2024
5c3679c
fix: ktlint 정리 2
skfotakf Mar 1, 2024
bebe886
fix: 실수로 삭제한 코드 복구
skfotakf Mar 1, 2024
8079be1
Refactor: Member Search (#197)
huGgW Mar 2, 2024
4b4479e
feat: getMapping에 language requestParam 추가 (#198)
skfotakf Mar 2, 2024
0ee8536
Refactor: academics search (#200)
huGgW Mar 2, 2024
385476e
Refactor: research search (#201)
huGgW Mar 2, 2024
ce02d1b
fix: pageSize 추가 (#203)
leeeryboy Mar 5, 2024
ca9b4f7
fix: 인증 로직 수정 (#206)
leeeryboy Mar 9, 2024
51c2cf5
Merge branch 'main' into develop
leeeryboy Mar 9, 2024
e483c66
fix: migrateConferences에서 authenticatedStaff 삭제 (#204)
skfotakf Mar 10, 2024
34d6ade
fix: simpleProfessorDto에서 status 추가 (#205)
skfotakf Mar 10, 2024
39ce4b7
fix: readDegreeRequirements에 파일 보이도록 추가 (#209)
skfotakf Mar 12, 2024
ad8942f
fix: StudentClubDto에 engName 추가 (#210)
skfotakf Mar 12, 2024
60c8941
fix: researchEntity에 websiteURL 추가 (#211)
skfotakf Mar 12, 2024
974711c
Fix: `exchangepageNum`에서 total이 0일 경우 케이스 추가. (#213)
huGgW Mar 13, 2024
3d545b6
fix: readGeneralStudiesRequirements 추가 (#212)
skfotakf Mar 13, 2024
03ad822
Fix: Notice 비밀글 표시 안되도록 수정 (#216)
huGgW Mar 14, 2024
aee0057
fix: readFutureCareers에 description 수정 (#214)
skfotakf Mar 14, 2024
8f11cec
fix: 파일 크기 100MB로 늘림
skfotakf Mar 14, 2024
688c18e
Feat: Research 검색 결과 research 타입 상세화 (#218)
huGgW Mar 14, 2024
18f5f5a
fix: pdf 타입 AttachmentResponse로 변경 (#220)
skfotakf Mar 15, 2024
c8f01b5
Feat: Add more type to academic. (#221)
huGgW Mar 15, 2024
43b96c9
Fix: Change partialDescription to give with searchContent. (without h…
huGgW Mar 15, 2024
345b3ec
fix: 단건 조회 & 통합 검색 권한 체크 (#217)
leeeryboy Mar 16, 2024
87c0782
Merge branch 'main' into develop
huGgW Mar 16, 2024
e039808
Fix: Formatting issue.
huGgW Mar 16, 2024
b352654
Fix: Add studentType for all academic search result. (#224)
huGgW Mar 19, 2024
1d95ad3
Config: Spring Boot 3.2, Java 21로 업그레이드, Virtual Thread 적용 (#223)
huGgW Mar 19, 2024
e53b5b6
Merge branch 'main' into develop
huGgW Mar 19, 2024
51bd3fa
Fix: add join condition for news total search (#226)
huGgW Mar 20, 2024
69d3036
Merge branch 'main' into develop
huGgW Mar 23, 2024
5476d99
Feat: Spring Boot 서버에서 Error 발생 시 Slack으로 로그 전송 기능 추가 (#228)
huGgW Mar 28, 2024
2977354
Merge branch 'main' into develop
huGgW Mar 28, 2024
c5eccf2
Merge branch 'main' into develop
huGgW Mar 28, 2024
9437614
feat: 학부 총괄 행정직원 맨 앞으로 이동 (#232)
leeeryboy Apr 2, 2024
ff37dce
feat: 한글 이름 우선순위 정렬 (#235)
leeeryboy Apr 2, 2024
7838f14
Feat: 게시물 제외 통합검색에 사용되는 field들 refersh하는 API 추가 (#236)
huGgW Apr 3, 2024
c80b2df
delete image thumbnail logic (#237)
leeeryboy Apr 3, 2024
6efa275
Fix: Fill "mappedBy" information for remove about_attachments table. …
huGgW Apr 3, 2024
b4f9024
CICD: 배포, 개발계 분리 적용 (#238)
huGgW Apr 3, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/database.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ jobs:
with:
host: ${{secrets.SSH_HOST}}
username: ${{secrets.SSH_USER}}
port: ${{secrets.SSH_PORT}}
key: ${{secrets.SSH_KEY}}
source: "docker-compose-db.yml, .env"
target: "~/app"
Expand All @@ -44,6 +45,7 @@ jobs:
with:
host: ${{secrets.SSH_HOST}}
username: ${{secrets.SSH_USER}}
port: ${{secrets.SSH_PORT}}
key: ${{secrets.SSH_KEY}}
script: |
cd ~/app
Expand Down
52 changes: 52 additions & 0 deletions .github/workflows/database_dev.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
on:
push:
branches:
- develop
paths:
- docker-compose-db.yml
- db_config/*
- .github/workflows/database.yaml

jobs:
database-deploy:
runs-on: ubuntu-latest
permissions:
packages: write
contents: read

steps:
-
name: Checkout
uses: actions/checkout@v3

-
name: Create .env file
run: |
echo "MYSQL_ROOT_PASSWORD=${{secrets.MYSQL_ROOT_PASSWORD}}" > .env
echo "MYSQL_USER=${{secrets.MYSQL_USER}}" >> .env
echo "MYSQL_PASSWORD=${{secrets.MYSQL_PASSWORD}}" >> .env
echo "MYSQL_DATABASE=${{secrets.MYSQL_DATABASE}}" >> .env

-
name: SCP Command to Transfer Files
uses: appleboy/scp-action@v0.1.4
with:
host: ${{secrets.SSH_HOST_DEV}}
username: ${{secrets.SSH_USER}}
key: ${{secrets.SSH_KEY}}
source: "docker-compose-db.yml, .env"
target: "~/app"
overwrite: true

-
name: SSH Remote Commands
uses: appleboy/ssh-action@v1.0.0
with:
host: ${{secrets.SSH_HOST_DEV}}
username: ${{secrets.SSH_USER}}
key: ${{secrets.SSH_KEY}}
script: |
cd ~/app
source .env
docker-compose -f docker-compose-db.yml down
docker-compose -f docker-compose-db.yml up -d
4 changes: 3 additions & 1 deletion .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ jobs:
with:
host: ${{secrets.SSH_HOST}}
username: ${{secrets.SSH_USER}}
port: ${{secrets.SSH_PORT}}
key: ${{secrets.SSH_KEY}}
source: "docker-compose-backend.yml, .env"
target: "~/app"
Expand All @@ -77,8 +78,9 @@ jobs:
with:
host: ${{secrets.SSH_HOST}}
username: ${{secrets.SSH_USER}}
port: ${{secrets.SSH_PORT}}
key: ${{secrets.SSH_KEY}}
script: | # TODO: Change to blue-green deployment
script: |
cd ~/app
source .env
docker-compose -f docker-compose-backend.yml down
Expand Down
86 changes: 86 additions & 0 deletions .github/workflows/deploy_dev.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
on:
push:
branches:
- develop
paths:
- docker-compose-backend.yml
- Dockerfile
- gradle.properties
- gradlew
- gradlew.bat
- build.gradle.kts
- settings.gradle.kts
- src/**
- gradle/**
- .github/workflows/deploy.yaml

jobs:
build-and-deploy:
runs-on: ubuntu-latest
permissions:
packages: write
contents: read

steps:
- name: Checkout
uses: actions/checkout@v3

- name: Setup Java JDK
uses: actions/setup-java@v3.12.0
with:
java-version: '21'
distribution: 'temurin'

- run: ./gradlew clean bootJar -x test

- name: Log in to the Container Registry
uses: docker/login-action@v2.2.0
with:
registry: ghcr.io
username: ${{github.actor}}
password: ${{secrets.GITHUB_TOKEN}}

- name: Build and push Docker image
uses: docker/build-push-action@v4.1.1
with:
context: .
push: true
build-args: |
PROFILE=prod
tags: |
ghcr.io/wafflestudio/csereal-server/server_image:latest
ghcr.io/wafflestudio/csereal-server/server_image:${{github.sha}}

- name: Create .env file
run: |
echo "MYSQL_ROOT_PASSWORD=${{secrets.MYSQL_ROOT_PASSWORD}}" > .env
echo "MYSQL_USER=${{secrets.MYSQL_USER}}" >> .env
echo "MYSQL_PASSWORD=${{secrets.MYSQL_PASSWORD}}" >> .env
echo "MYSQL_DATABASE=${{secrets.MYSQL_DATABASE}}" >> .env
echo "PROFILE=dev" >> .env
echo "OIDC_CLIENT_SECRET=${{secrets.OIDC_CLIENT_SECRET}}" >> .env
echo "URL=${{secrets.URL_DEV}}" >> .env
# echo "SLACK_TOKEN=${{secrets.SLACK_TOKEN}}" >> .env
# echo "SLACK_CHANNEL=${{secrets.SLACK_CHANNEL}}" >> .env

- name: SCP Command to Transfer Files
uses: appleboy/scp-action@v0.1.4
with:
host: ${{secrets.SSH_HOST_DEV}}
username: ${{secrets.SSH_USER}}
key: ${{secrets.SSH_KEY}}
source: "docker-compose-backend.yml, .env"
target: "~/app"
overwrite: true
- name: SSH Remote Commands
uses: appleboy/ssh-action@v1.0.0
with:
host: ${{secrets.SSH_HOST_DEV}}
username: ${{secrets.SSH_USER}}
key: ${{secrets.SSH_KEY}}
script: |
cd ~/app
source .env
docker-compose -f docker-compose-backend.yml down
docker-compose -f docker-compose-backend.yml pull
docker-compose -f docker-compose-backend.yml up -d
2 changes: 2 additions & 0 deletions .github/workflows/proxy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ jobs:
with:
host: ${{secrets.SSH_HOST}}
username: ${{secrets.SSH_USER}}
port: ${{secrets.SSH_PORT}}
key: ${{secrets.SSH_KEY}}
source: "docker-compose-caddy.yml, .env, caddy/Caddyfile"
target: "~/proxy"
Expand All @@ -39,6 +40,7 @@ jobs:
with:
host: ${{secrets.SSH_HOST}}
username: ${{secrets.SSH_USER}}
port: ${{secrets.SSH_PORT}}
key: ${{secrets.SSH_KEY}}
script: |
cd ~/proxy
Expand Down
47 changes: 47 additions & 0 deletions .github/workflows/proxy_dev.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
on:
push:
branches:
- develop
paths:
- docker-compose-caddy.yml
- caddy/Caddyfile
- .github/workflows/proxy.yaml

jobs:
proxy-initialize:
runs-on: ubuntu-latest

steps:
-
name: Checkout
uses: actions/checkout@v3

-
name: Create .env file
run: |
echo "URL=${{secrets.URL_DEV}}" > .env
echo "LOCAL_IP=${{secrets.LOCAL_IP_DEV}}" >> .env

-
name: SCP Command to Transfer Files
uses: appleboy/scp-action@v0.1.4
with:
host: ${{secrets.SSH_HOST_DEV}}
username: ${{secrets.SSH_USER}}
key: ${{secrets.SSH_KEY}}
source: "docker-compose-caddy.yml, .env, caddy/Caddyfile"
target: "~/proxy"
overwrite: true

-
name: SSH Command to Run Docker Compose
uses: appleboy/ssh-action@v1.0.0
with:
host: ${{secrets.SSH_HOST_DEV}}
username: ${{secrets.SSH_USER}}
key: ${{secrets.SSH_KEY}}
script: |
cd ~/proxy
source .env
docker-compose -f docker-compose-caddy.yml down
docker-compose -f docker-compose-caddy.yml up -d
3 changes: 0 additions & 3 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,6 @@ dependencies {
// 이미지 업로드
implementation("commons-io:commons-io:2.11.0")

// 썸네일 보여주기
implementation("net.coobird:thumbnailator:0.4.19")

// Custom Metadata
annotationProcessor("org.springframework.boot:spring-boot-configuration-processor")
}
Expand Down
12 changes: 6 additions & 6 deletions caddy/Caddyfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@
abort @backend_denied

# Backend
reverse_proxy /api/* host.docker.internal:8080 #host.docker.internal:8081 # For blue/green
reverse_proxy /api/* host.docker.internal:8080

# Old file serving
reverse_proxy /sites/default/files/* host.docker.internal:8080 #host.docker.internal:8081 # For blue/green
reverse_proxy /sites/default/files/* host.docker.internal:8080

# Login
reverse_proxy /oauth2/authorization/idsnucse host.docker.internal:8080 #host.docker.internal:8081 # For blue/green
reverse_proxy /oauth2/authorization/idsnucse host.docker.internal:8080

# Swagger
reverse_proxy /swagger-ui/* host.docker.internal:8080 #host.docker.internal:8081 # For blue/green
reverse_proxy /api-docs/* host.docker.internal:8080 #host.docker.internal:8081 # For blue/green
}
reverse_proxy /swagger-ui/* host.docker.internal:8080
reverse_proxy /api-docs/* host.docker.internal:8080
}
22 changes: 0 additions & 22 deletions docker-compose-backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,25 +23,3 @@ services:
- host.docker.internal:host-gateway
restart: always
image: ghcr.io/wafflestudio/csereal-server/server_image:latest
# TODO: Activate after implementing health check
# blue:
# container_name: csereal_server_blue
# build:
# context: ./
# args:
# PROFILE: ${PROFILE}
# ports:
# - 8081:8080
# volumes:
# - ./cse-files:/app/cse-files
# - ./attachment:/app/attachment
# environment:
# SPRING_DATASOURCE_URL: "jdbc:mysql://host.docker.internal:3306/${MYSQL_DATABASE}?serverTimezone=Asia/Seoul&useSSL=false&allowPublicKeyRetrieval=true"
# SPRING_DATASOURCE_USERNAME: ${MYSQL_USER}
# SPRING_DATASOURCE_PASSWORD: ${MYSQL_PASSWORD}
# OIDC_CLIENT_SECRET_DEV: ${OIDC_CLIENT_SECRET_DEV}
# URL: ${URL}
# extra_hosts:
# - host.docker.internal:host-gateway
# restart: always
# image: ghcr.io/wafflestudio/csereal-server/server_image:latest
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,7 @@ fun getUsername(authentication: Authentication?): String? {
}
}
}

fun startsWithEnglish(name: String): Boolean {
return name.isNotEmpty() && name.first().let { it in 'A'..'Z' || it in 'a'..'z' }
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class AboutEntity(
@Convert(converter = StringListConverter::class)
var locations: MutableList<String> = mutableListOf(),

@OneToMany(mappedBy = "")
@OneToMany(mappedBy = "about", cascade = [CascadeType.ALL], orphanRemoval = true)
var attachments: MutableList<AttachmentEntity> = mutableListOf(),

@OneToOne
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,13 @@ import com.wafflestudio.csereal.core.about.api.res.AboutSearchElementDto
import com.wafflestudio.csereal.core.about.api.res.AboutSearchResBody
import com.wafflestudio.csereal.core.about.database.*
import com.wafflestudio.csereal.core.about.dto.*
import com.wafflestudio.csereal.core.main.event.RefreshSearchEvent
import com.wafflestudio.csereal.core.resource.attachment.service.AttachmentService
import com.wafflestudio.csereal.core.resource.mainImage.service.MainImageService
import org.springframework.context.event.EventListener
import org.springframework.data.repository.findByIdOrNull
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Propagation
import org.springframework.transaction.annotation.Transactional
import org.springframework.web.multipart.MultipartFile

Expand Down Expand Up @@ -185,6 +188,14 @@ class AboutServiceImpl(
return FutureCareersPage(description, statList, companyList)
}

@Transactional(propagation = Propagation.REQUIRES_NEW)
@EventListener
fun refreshSearchListener(event: RefreshSearchEvent) {
aboutRepository.findAll().forEach {
syncSearchOfAbout(it)
}
}

@Transactional
fun syncSearchOfAbout(about: AboutEntity) {
if (about.postType == AboutPostType.FUTURE_CAREERS) {
Expand Down
Loading
Loading