Skip to content

Commit a7e2647

Browse files
authored
Merge pull request #228 from solid-connection/release
[DEPLOY] v1.0.0
2 parents 34aef9f + e3de221 commit a7e2647

File tree

308 files changed

+17821
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

308 files changed

+17821
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
## 어떤 버그인가요
11+
12+
> 문제가 되는 부분에 대해 설명해주세요
13+
14+
## 재현 방법(선택)
15+
버그를 재현할 수 있는 과정을 설명해주세요(필요하다면 사진을 첨부해주세요)
16+
1. Go to '...'
17+
2. Click on '....'
18+
3. Scroll down to '....'
19+
4. See error
20+
21+
## 참고할만한 자료(선택)
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: feature
6+
assignees: ''
7+
8+
---
9+
10+
## 어떤 기능인가요?
11+
12+
> 추가하려는 기능에 대해 간결하게 설명해주세요
13+
14+
## 작업 상세 내용
15+
16+
- [ ] TODO
17+
- [ ] TODO
18+
- [ ] TODO
19+
20+
## 참고할만한 자료(선택)
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
name: Refactor request
3+
about: Suggest an refactor for this project
4+
title: ''
5+
labels: refactor
6+
assignees: ''
7+
8+
---
9+
10+
## 어떤 부분을 리팩터링하려 하나요?
11+
12+
> 리팩터링하려는 부분에 대해 간결하게 설명해주세요
13+
14+
### AS-IS
15+
- as-is
16+
- as-is
17+
18+
### TO-BE
19+
- to-be
20+
- to-be
21+
22+
## 작업 상세 내용
23+
24+
- [ ] TODO
25+
- [ ] TODO
26+
- [ ] TODO
27+
28+
## 참고할만한 자료(선택)

.github/pull_request_template.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
## 관련 이슈
2+
3+
- resolves: #이슈 번호
4+
5+
## 작업 내용
6+
7+
<!-- 해당 PR에서 작업한 내용을 간략히 설명해 주세요. (이미지 첨부 가능) -->
8+
9+
<!-- 코드가 아닌 기능 단위로 설명을 작성하며, 기능이 여러 개인 경우 각각을 잘 구분하여 설명해 주세요. -->
10+
11+
## 특이 사항
12+
13+
<!-- 프로젝트 실행에 영향을 미치는 중요한 변경사항이나 주의사항 등을 기술해 주세요. -->
14+
15+
## 리뷰 요구사항 (선택)
16+
17+
<!-- 리뷰 중점 사항: 리뷰어가 특히 집중해서 봐야 할 부분이 있나요? -->
18+
19+
<!-- 추가 검토 사항: 코드, 디자인, 구현 방식 등에 대한 추가적인 검토가 필요한 사항이 있나요? -->
20+
21+
<!-- 논의가 필요한 부분: 코드 리뷰 중 논의가 필요해 보이는 부분은 무엇인가요? -->

.github/workflows/prod-cd.yml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: "[PROD] Build Gradle and Deploy"
2+
3+
on:
4+
push:
5+
branches: [ "master" ]
6+
workflow_dispatch:
7+
8+
jobs:
9+
build-gradle:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
contents: read
13+
14+
steps:
15+
- name: Checkout the code
16+
uses: actions/checkout@v4
17+
with:
18+
token: ${{ secrets.SUBMODULE_ACCESS_TOKEN }}
19+
submodules: true
20+
21+
- name: Set up JDK 17
22+
uses: actions/setup-java@v4
23+
with:
24+
java-version: '17'
25+
distribution: 'temurin'
26+
27+
# Configure Gradle for optimal use in GitHub Actions, including caching of downloaded dependencies.
28+
# See: https://github.com/gradle/actions/blob/main/setup-gradle/README.md
29+
- name: Setup Gradle
30+
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 # v3.1.0
31+
32+
- name: Grant execute permission for Gradle wrapper(gradlew)
33+
run: chmod +x ./gradlew
34+
35+
- name: Build with Gradle
36+
run: ./gradlew bootJar
37+
38+
- name: Copy jar file to remote
39+
uses: appleboy/scp-action@master
40+
with:
41+
host: ${{ secrets.HOST }}
42+
username: ${{ secrets.USERNAME }}
43+
key: ${{ secrets.PRIVATE_KEY }}
44+
source: "./build/libs/*.jar"
45+
target: "/home/${{ secrets.USERNAME }}/solid-connect-server/"
46+
47+
- name: Copy docker file to remote
48+
uses: appleboy/scp-action@master
49+
with:
50+
host: ${{ secrets.HOST }}
51+
username: ${{ secrets.USERNAME }}
52+
key: ${{ secrets.PRIVATE_KEY }}
53+
source: "./Dockerfile"
54+
target: "/home/${{ secrets.USERNAME }}/solid-connect-server/"
55+
56+
- name: Copy docker compose file to remote
57+
uses: appleboy/scp-action@master
58+
with:
59+
host: ${{ secrets.HOST }}
60+
username: ${{ secrets.USERNAME }}
61+
key: ${{ secrets.PRIVATE_KEY }}
62+
source: "./docker-compose.prod.yml"
63+
target: "/home/${{ secrets.USERNAME }}/solid-connect-server/"
64+
65+
- name: Run docker compose
66+
uses: appleboy/ssh-action@master
67+
with:
68+
host: ${{ secrets.HOST }}
69+
username: ${{ secrets.USERNAME }}
70+
key: ${{ secrets.PRIVATE_KEY }}
71+
script_stop: true
72+
script: |
73+
cd /home/${{ secrets.USERNAME }}/solid-connect-server
74+
docker compose down
75+
docker compose -f docker-compose.prod.yml up -d --build

.github/workflows/stage-cd.yml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: "[STAGE] Build Gradle and Deploy"
2+
3+
on:
4+
push:
5+
branches: [ "release" ]
6+
workflow_dispatch:
7+
8+
jobs:
9+
build-gradle:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
contents: read
13+
14+
steps:
15+
- name: Checkout the code
16+
uses: actions/checkout@v4
17+
with:
18+
token: ${{ secrets.SUBMODULE_ACCESS_TOKEN }}
19+
submodules: true
20+
21+
- name: Set up JDK 17
22+
uses: actions/setup-java@v4
23+
with:
24+
java-version: '17'
25+
distribution: 'temurin'
26+
27+
# Configure Gradle for optimal use in GitHub Actions, including caching of downloaded dependencies.
28+
# See: https://github.com/gradle/actions/blob/main/setup-gradle/README.md
29+
- name: Setup Gradle
30+
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 # v3.1.0
31+
32+
- name: Grant execute permission for Gradle wrapper(gradlew)
33+
run: chmod +x ./gradlew
34+
35+
- name: Build with Gradle
36+
run: ./gradlew bootJar
37+
38+
- name: Copy jar file to remote
39+
uses: appleboy/scp-action@master
40+
with:
41+
host: ${{ secrets.STAGE_HOST }}
42+
username: ${{ secrets.STAGE_USERNAME }}
43+
key: ${{ secrets.STAGE_PRIVATE_KEY }}
44+
source: "./build/libs/*.jar"
45+
target: "/home/${{ secrets.STAGE_USERNAME }}/solid-connect-stage/"
46+
47+
- name: Copy docker file to remote
48+
uses: appleboy/scp-action@master
49+
with:
50+
host: ${{ secrets.STAGE_HOST }}
51+
username: ${{ secrets.STAGE_USERNAME }}
52+
key: ${{ secrets.STAGE_PRIVATE_KEY }}
53+
source: "./Dockerfile"
54+
target: "/home/${{ secrets.STAGE_USERNAME }}/solid-connect-stage/"
55+
56+
- name: Copy docker compose file to remote
57+
uses: appleboy/scp-action@master
58+
with:
59+
host: ${{ secrets.STAGE_HOST }}
60+
username: ${{ secrets.STAGE_USERNAME }}
61+
key: ${{ secrets.STAGE_PRIVATE_KEY }}
62+
source: "./docker-compose.stage.yml"
63+
target: "/home/${{ secrets.STAGE_USERNAME }}/solid-connect-stage/"
64+
65+
- name: Run docker compose
66+
uses: appleboy/ssh-action@master
67+
with:
68+
host: ${{ secrets.STAGE_HOST }}
69+
username: ${{ secrets.STAGE_USERNAME }}
70+
key: ${{ secrets.STAGE_PRIVATE_KEY }}
71+
script_stop: true
72+
script: |
73+
cd /home/${{ secrets.STAGE_USERNAME }}/solid-connect-stage
74+
docker compose down
75+
docker compose -f docker-compose.stage.yml up -d --build

.gitignore

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
HELP.md
2+
.gradle
3+
build/
4+
!gradle/wrapper/gradle-wrapper.jar
5+
!**/src/main/**/build/
6+
!**/src/test/**/build/
7+
8+
### STS ###
9+
.apt_generated
10+
.classpath
11+
.factorypath
12+
.project
13+
.settings
14+
.springBeans
15+
.sts4-cache
16+
bin/
17+
!**/src/main/**/bin/
18+
!**/src/test/**/bin/
19+
20+
### IntelliJ IDEA ###
21+
.idea
22+
*.iws
23+
*.iml
24+
*.ipr
25+
out/
26+
!**/src/main/**/out/
27+
!**/src/test/**/out/
28+
29+
### NetBeans ###
30+
/nbproject/private/
31+
/nbbuild/
32+
/dist/
33+
/nbdist/
34+
/.nb-gradle/
35+
36+
### VS Code ###
37+
.vscode/
38+
39+
### YML ###
40+
application-secret.yml
41+
application-prod.yml
42+
43+
### docker volumes ###
44+
mysql_data_local
45+
redis_data_local

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "src/main/resources/secret"]
2+
path = src/main/resources/secret
3+
url = https://github.com/solid-connection/solid-connect-secret

Dockerfile

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# JDK 버전 설정
2+
FROM openjdk:17-jdk
3+
4+
# JAR_FILE 변수 정의
5+
ARG JAR_FILE=./build/libs/solid-connection-0.0.1-SNAPSHOT.jar
6+
7+
# JAR 파일 메인 디렉토리에 복사
8+
COPY ${JAR_FILE} app.jar
9+
10+
# 시스템 진입점 정의
11+
ENTRYPOINT ["java", "-jar", "/app.jar"]
12+
13+
# 볼륨 설정
14+
VOLUME /tmp

README.md

1.08 KB

solid-connect-server

개발 환경

  • Java 17
  • 개발 환경 docker compose 실행
    • docker compose -f docker-compose.local.yml up -d

컨벤션

⚠️ 주의 !
이 컨벤션은 2024년 7월 지원까지의 코드에 해당합니다.
이후의 규칙은 자유롭게 만들어가주세요.
  • 함수의 이름은 동사구로 통일한다.

  • 어노테이션이 여러개 달리는 경우, 더 핵심이 되는 것을 아래에 위치한다. (개인적으로 어노테이션이 많아지면 코드와 가장 가까운 것에 제일 먼저 눈이 가기 때문)

  • 클래스의 바디가 시작할 때 개행하고, 바디가 끝나고 나서 개행한다. (구글 컨벤션에 의해)

  • 클래스에 있는 함수의 이름은 구체적으로 작성한다.

    • 예를 들어, UniversityController 에 있는 학교 검색 함수의 이름은 search 가 아니라 searchUniversity로 한다.
  • 테스트 코드에서 예외 발생 e2e 테스트는 이름을 "~면_예외_응답을_반환한다"로 통일한다.

0 commit comments

Comments
 (0)