Skip to content

Commit d45974a

Browse files
authored
Merge pull request #501 from Kernel360/refactor/#500-dev-server-remove
[refactor] dev 환경이 사라짐에 따른 코드, 설정, ci/cd 수정
2 parents be9c281 + 4795ec0 commit d45974a

File tree

24 files changed

+304
-578
lines changed

24 files changed

+304
-578
lines changed

.github/workflows/cd-dev.yml

Lines changed: 0 additions & 104 deletions
This file was deleted.

.github/workflows/cd.yml

Lines changed: 7 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -14,68 +14,29 @@ jobs:
1414
runs-on: ubuntu-latest
1515

1616
steps:
17-
- uses: actions/checkout@v3
18-
19-
# - run: touch ./domain-mysql/src/main/resources/application.yml
20-
- run: echo "${{ secrets.APPLICATION }}" > ./domain-mysql/src/main/resources/application.yml
21-
- uses: actions/upload-artifact@v2
22-
with:
23-
name: application.yml
24-
path: ./domain-mysql/src/main/resources/application.yml
25-
26-
- run: echo "${{ secrets.MEMBER_APPLICATION }}" > ./member-api/src/main/resources/application.yml
27-
- uses: actions/upload-artifact@v2
17+
- name: Checkout
18+
uses: actions/checkout@v3
2819
with:
29-
name: application.yml
30-
path: ./member-api/src/main/resources/application.yml
20+
ref: ${{ github.event.pull_request.head.sha }}
3121

3222
- name: Set up JDK 21
3323
uses: actions/setup-java@v3
3424
with:
3525
java-version: '21'
3626
distribution: 'temurin'
3727

38-
# - name: Set up member-api application.yml
39-
# uses: microsoft/variable-substitution@v1
40-
# with:
41-
# files: ./member-api/src/main/resources/application.yml
42-
# env:
43-
# spring.datasource.url: ${{ secrets.LOCAL_DB_URL }}
44-
# spring.datasource.username: ${{ secrets.LOCAL_DB_HOST }}
45-
# spring.datasource.password: ${{ secrets.LOCAL_DB_PASSWORD }}
46-
# spring.redis.host: ${{ secrets.REDIS_HOST }}
47-
# spring.redis.port: ${{ secrets.REDIS_PORT }}
48-
# spring.data.mongodb.uri: ${{ secrets.MONGO_URI }}
49-
# spring.security.jwt.secret: ${{ secrets.JWT_SECRET_KEY }}
50-
# cloud.aws.s3.bucket: ${{ secrets.S3_BUCKET_NAME }}
51-
# cloud.aws.region.static: ${{ secrets.S3_REGION }}
52-
# cloud.aws.credentials.accessKey: ${{ secrets.AWS_ACCESS_KEY }}
53-
# cloud.aws.credentials.secretKey: ${{ secrets.AWS_ACCESS_SECRET }}
54-
# kafka.url: ${{ secrets.KAFKA_URL }}
55-
# custom.domain.image.baseUrl: ${{ secrets.BASE_URL }}
56-
# chatgpt.rest-api-key: ${{ secrets.CHAT_GPT_API_KEY }}
57-
58-
# - name: Set up domain-mysql application.yml
59-
# uses: microsoft/variable-substitution@v1
60-
# with:
61-
# files: ./domain-mysql/src/main/resources/application.yml
62-
# env:
63-
# spring.datasource.url: ${{ secrets.LOCAL_DB_URL }}
64-
# spring.datasource.username: ${{ secrets.LOCAL_DB_HOST }}
65-
# spring.datasource.password: ${{ secrets.LOCAL_DB_PASSWORD }}
66-
67-
- name: Set up domain-mongodb application.yml
28+
- name: Set up member-api application-common.yml
6829
uses: microsoft/variable-substitution@v1
6930
with:
70-
files: ./domain-mongodb/src/main/resources/application.yml
31+
files: ./member-api/src/main/resources/application-common.yml
7132
env:
72-
spring.data.mongodb.uri: ${{ secrets.MONGO_URI }}
33+
jasypt.password: ${{ secrets.JASYPT_PASSWORD }}
7334

7435
- name: Build member-api with Gradle
7536
run : |
7637
cd member-api
7738
chmod +x ./gradlew
78-
./gradlew clean build
39+
./gradlew build
7940
8041
- name: Login to DockerHub
8142
uses: docker/login-action@v1

.github/workflows/ci.yml

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -23,31 +23,40 @@ jobs:
2323
java-version: '21'
2424
distribution: 'temurin'
2525

26+
- name: Set up DataHub with Docker
27+
run: |
28+
echo "${{ secrets.CI_DOCKER_COMPOSE }}" > docker-compose.yml
29+
docker-compose up -d
30+
docker ps
31+
32+
- name: Test domain-mysql with Gradle
33+
run: |
34+
cd domain-mysql
35+
chmod +x ./gradlew
36+
./gradlew test
37+
2638
- name: Set up domain-mongodb test application.yml
2739
uses: microsoft/variable-substitution@v1
2840
with:
2941
files: ./domain-mongodb/src/test/resources/application.yml
3042
env:
31-
spring.data.mongodb.uri: ${{ secrets.MONGO_TEST_URI }}
43+
jasypt.password: ${{ secrets.JASYPT_PASSWORD }}
44+
45+
- name: Test domain-mongodb with Gradle
46+
run: |
47+
cd domain-mongodb
48+
chmod +x ./gradlew
49+
./gradlew test
3250
33-
- name: Set up member-api test application.yml
51+
- name: Set up member-api application-common.yml
3452
uses: microsoft/variable-substitution@v1
3553
with:
36-
files: ./member-api/src/test/resources/application.yml
54+
files: ./member-api/src/main/resources/application-common.yml
3755
env:
38-
spring.datasource.url: ${{ secrets.TEST_DB_URL }}
39-
spring.datasource.username: ${{ secrets.TEST_DB_HOST }}
40-
spring.datasource.password: ${{ secrets.TEST_DB_PASSWORD }}
41-
spring.security.jwt.secret: ${{ secrets.JWT_SECRET_KEY }}
42-
spring.data.mongodb.uri: ${{ secrets.MONGO_TEST_URI }}
43-
custom.domain.image.baseUrl: ${{ secrets.BASE_URL }}
44-
cloud.aws.s3.bucket: ${{ secrets.S3_BUCKET_NAME }}
45-
cloud.aws.region.static: ${{ secrets.S3_REGION }}
46-
cloud.aws.credentials.accessKey: ${{ secrets.AWS_ACCESS_KEY }}
47-
cloud.aws.credentials.secretKey: ${{ secrets.AWS_ACCESS_SECRET }}
48-
49-
- name: Run chmod to make gradlew executable
50-
run: chmod +x ./gradlew
51-
52-
- name: Test with Gradle
53-
run: ./gradlew test
56+
jasypt.password: ${{ secrets.JASYPT_PASSWORD }}
57+
58+
- name: Build member-api with Gradle
59+
run: |
60+
cd member-api
61+
chmod +x ./gradlew
62+
./gradlew build

.github/workflows/cr.yml

Lines changed: 0 additions & 21 deletions
This file was deleted.

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ member-api/logs/**
1414

1515
member-api/member-api/logs/**
1616

17+
member-api/src/main/resources/application-local.yml
18+
19+
core/src/test/java/com/kernelsqaure/core/config/JasyptConfigTest.java
20+
1721
### STS ###
1822
.apt_generated
1923
.classpath

core/build.gradle

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,12 @@ dependencies {
3939
//Monitoring
4040
implementation 'org.springframework.boot:spring-boot-starter-actuator'
4141
implementation 'io.micrometer:micrometer-registry-prometheus'
42+
43+
//jasypt
44+
implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.5'
45+
46+
//Test
47+
testImplementation 'org.springframework.boot:spring-boot-starter-test'
4248
}
4349

4450
tasks.named('test') {

core/src/main/java/com/kernelsquare/core/compose/Kafka.yml

Lines changed: 0 additions & 23 deletions
This file was deleted.

core/src/main/java/com/kernelsquare/core/compose/MongoDB.yml

Lines changed: 0 additions & 13 deletions
This file was deleted.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.kernelsquare.core.config;
2+
3+
import com.ulisesbocchio.jasyptspringboot.annotation.EnableEncryptableProperties;
4+
import org.jasypt.encryption.StringEncryptor;
5+
import org.jasypt.encryption.pbe.PooledPBEStringEncryptor;
6+
import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;
7+
import org.springframework.beans.factory.annotation.Value;
8+
import org.springframework.context.annotation.Bean;
9+
import org.springframework.context.annotation.Configuration;
10+
11+
@Configuration
12+
@EnableEncryptableProperties
13+
public class JasyptConfig {
14+
@Value("${jasypt.password}")
15+
private String password;
16+
17+
@Bean("jasyptEncryptorAES")
18+
public StringEncryptor stringEncryptor() {
19+
PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
20+
SimpleStringPBEConfig config = new SimpleStringPBEConfig();
21+
config.setPassword(password);
22+
config.setAlgorithm("PBEWITHHMACSHA512ANDAES_256"); // 알고리즘
23+
config.setKeyObtentionIterations("1000"); // 반복할 해싱 횟수
24+
config.setPoolSize("1"); // 인스턴스 pool
25+
config.setProviderName("SunJCE"); // 기본 암호화 제공자
26+
config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator"); // 기본 salt 생성 클래스
27+
config.setIvGeneratorClassName("org.jasypt.iv.RandomIvGenerator"); // 랜덤 초기화 벡터
28+
config.setStringOutputType("base64"); //인코딩 방식
29+
encryptor.setConfig(config);
30+
return encryptor;
31+
}
32+
}

core/src/main/resources/application.properties

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)