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
13 changes: 1 addition & 12 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,22 +32,11 @@ jobs:
distribution: "temurin"
cache: "gradle"

# 1-3. '*.yml' 파일 세팅
- name: Write Spring yml files
run: |
mkdir -p src/main/resources

# 배포용(prod)만 주입
echo "${{ secrets.APPLICATION_PROD_YML }}" > src/main/resources/application-prod.yml

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Build (includes React build)
run: ./gradlew clean build --no-daemon
env:
SPRING_PROFILES_ACTIVE: prod
CI: "false"
run: ./gradlew clean bootJar --no-daemon
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,5 @@ src/main/resources/application-dev.yml
## gradle

/.gradle/

.env
11 changes: 11 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# ---- runtime ----
FROM eclipse-temurin:17-jre

WORKDIR /app

# CI에서 만든 jar를 복사 (파일명은 workflow에서 app.jar로 맞출 예정)
COPY build/libs/baektracker-0.0.1-SNAPSHOT.jar app.jar

EXPOSE 8080

ENTRYPOINT ["java", "-jar", "/app/app.jar"]
1 change: 1 addition & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ tasks.register('installReact', Exec) {
}

tasks.register('buildReact', Exec) {
environment "CI", "false"
dependsOn "installReact"
workingDir "$frontendDir"
inputs.dir "$frontendDir"
Expand Down
8 changes: 8 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
services:
app:
image: test:latest
ports:
- "8080:8080"
env_file:
- .env
restart: always
30 changes: 2 additions & 28 deletions src/main/java/com/baektracker/global/config/DatabaseConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@

import jakarta.persistence.EntityManagerFactory;
import javax.sql.DataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
Expand All @@ -14,43 +12,19 @@

@Configuration
public class DatabaseConfig {
@Value("${spring.datasource.driver-class-name}")
public String driverClassName;

@Value("${spring.datasource.url}")
public String url;

@Value("${spring.datasource.username}")
public String username;

@Value("${spring.datasource.password}")
public String password;

@Bean
public BCryptPasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}

@Bean
public DataSource dataSource() {
DataSourceBuilder dataSourceBuilder = DataSourceBuilder.create();
// Mybatis Debuging
dataSourceBuilder.driverClassName(driverClassName);
dataSourceBuilder.url(url);
dataSourceBuilder.username(username);
dataSourceBuilder.password(password);

return dataSourceBuilder.build();
}

@Bean
@Primary
public PlatformTransactionManager transactionManager(EntityManagerFactory emf) {
return new JpaTransactionManager(emf);
}

@Bean(name = "mybatisTxManager")
public PlatformTransactionManager mybatisTxManager() {
return new DataSourceTransactionManager(dataSource());
public PlatformTransactionManager mybatisTxManager(DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
}
}
8 changes: 8 additions & 0 deletions src/main/resources/application-prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
server:
port: ${PORT}

spring:
datasource:
url: ${DB_URL}
username: ${MYSQL_USERNAME}
password: ${MYSQL_PASSWORD}
2 changes: 0 additions & 2 deletions src/main/resources/application.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
server:
port: 20000
servlet:
encoding:
force: true
Expand All @@ -14,7 +13,6 @@ spring:
open-in-view: false
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/solved_db?useUnicode=yes&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=Asia/Seoul&useSSL=false&allowPublicKeyRetrieval=true
web:
resources:
add-mappings: true
Expand Down