From f137516f0c16538334b75bdfb201eb4de8abf775 Mon Sep 17 00:00:00 2001 From: MoonJaeGyeong Date: Thu, 17 Apr 2025 17:02:36 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat=20:=20dep.yaml=20=ED=8C=8C=EC=9D=BC=20?= =?UTF-8?q?=EC=95=94=ED=98=B8=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cicd.yaml | 7 +++-- build.gradle | 8 +++++ .../com/ddang/global/config/JasyptConfig.java | 31 +++++++++++++++++++ 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/ddang/global/config/JasyptConfig.java diff --git a/.github/workflows/cicd.yaml b/.github/workflows/cicd.yaml index ac1eafe..22def03 100644 --- a/.github/workflows/cicd.yaml +++ b/.github/workflows/cicd.yaml @@ -4,7 +4,7 @@ name: CI/CD using github actions & docker # event trigger on: push: - branches: [ "develop" ] + branches: [ "feat/#74-yaml-encryption" ] permissions: contents: read @@ -68,7 +68,10 @@ jobs: - name: Docker build & Push run: | docker login -u ${{ secrets.DOCKER_ID }} -p ${{ secrets.DOCKER_PASSWORD }} - docker build -f Dockerfile -t ${{ secrets.DOCKER_REPO }}/${{ secrets.DOCKER_REPO_NAME }} . + docker run -d \ + -e JASYPT_PASSWORD=${{ secrets.JASYPT_PASSWORD }} \ + -p 8080:8080 \ + ${{ secrets.DOCKER_REPO }}/${{ secrets.DOCKER_REPO_NAME }} docker push ${{ secrets.DOCKER_REPO }}/${{ secrets.DOCKER_REPO_NAME }} ## deploy to develop diff --git a/build.gradle b/build.gradle index 4d25d1d..4cb6a4d 100644 --- a/build.gradle +++ b/build.gradle @@ -69,6 +69,9 @@ dependencies { // WebSocket implementation 'org.springframework.boot:spring-boot-starter-websocket' + + //encryption + implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.3' } sonar { @@ -99,3 +102,8 @@ jacocoTestReport { tasks.test { finalizedBy tasks.jacocoTestReport } + +test { + useJUnitPlatform() + systemProperty "jasypt.encryptor.password", project.getProperties().get("jasypt.encryptor.password") +} diff --git a/src/main/java/com/ddang/global/config/JasyptConfig.java b/src/main/java/com/ddang/global/config/JasyptConfig.java new file mode 100644 index 0000000..9327406 --- /dev/null +++ b/src/main/java/com/ddang/global/config/JasyptConfig.java @@ -0,0 +1,31 @@ +package com.ddang.global.config; + +import com.ulisesbocchio.jasyptspringboot.annotation.EnableEncryptableProperties; +import org.jasypt.encryption.StringEncryptor; +import org.jasypt.encryption.pbe.PooledPBEStringEncryptor; +import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +@EnableEncryptableProperties +public class JasyptConfig { + + @Value("${jasypt.encryptor.password}") + private String PASSWORD; + + @Bean("jasyptStringEncryptor") + public StringEncryptor stringEncryptor(){ + PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor(); + SimpleStringPBEConfig config = new SimpleStringPBEConfig(); + config.setPassword(PASSWORD); + config.setPoolSize("1"); + config.setAlgorithm("PBEWithMD5AndDES"); + config.setStringOutputType("base64"); + config.setKeyObtentionIterations("1000"); + config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator"); + encryptor.setConfig(config); + return encryptor; + } +} From 8508256b181157e000a334e2c45aacf86e2efe21 Mon Sep 17 00:00:00 2001 From: MoonJaeGyeong Date: Thu, 17 Apr 2025 17:14:30 +0900 Subject: [PATCH 2/2] =?UTF-8?q?test=20:=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20?= =?UTF-8?q?=ED=9B=84=20=EB=B0=B0=ED=8F=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cicd.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cicd.yaml b/.github/workflows/cicd.yaml index 22def03..03b5be9 100644 --- a/.github/workflows/cicd.yaml +++ b/.github/workflows/cicd.yaml @@ -4,7 +4,7 @@ name: CI/CD using github actions & docker # event trigger on: push: - branches: [ "feat/#74-yaml-encryption" ] + branches: [ "develop" ] permissions: contents: read