Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 4 additions & 1 deletion .github/workflows/cicd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
8 changes: 8 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -99,3 +102,8 @@ jacocoTestReport {
tasks.test {
finalizedBy tasks.jacocoTestReport
}

test {
useJUnitPlatform()
systemProperty "jasypt.encryptor.password", project.getProperties().get("jasypt.encryptor.password")
}
31 changes: 31 additions & 0 deletions src/main/java/com/ddang/global/config/JasyptConfig.java
Original file line number Diff line number Diff line change
@@ -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;
}
}
Loading