Skip to content

Commit 1de70a9

Browse files
authored
Merge pull request #9 from PU-Track/main
merge for deployment
2 parents e8a5391 + 8c382bd commit 1de70a9

File tree

7 files changed

+83
-3
lines changed

7 files changed

+83
-3
lines changed

.github/workflows/deploy.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Deploy Backend Server to EC2
2+
3+
on:
4+
push:
5+
branches:
6+
- deploy
7+
8+
jobs:
9+
deploy:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: Checkout source code
14+
uses: actions/checkout@v3
15+
16+
- name: Set up SSH access
17+
uses: webfactory/ssh-agent@v0.7.0
18+
with:
19+
ssh-private-key: ${{ secrets.EC2_PRIVATE_KEY }}
20+
21+
- name: Connect to EC2 and deploy
22+
run: |
23+
ssh -o StrictHostKeyChecking=no ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} << 'EOF'
24+
cd ~/server
25+
26+
echo "📥 Pulling latest code..."
27+
git pull origin deploy
28+
29+
echo "🛑 Stopping existing container..."
30+
docker stop putrack-container || true
31+
docker rm putrack-container || true
32+
docker rmi putrack-server || true
33+
34+
echo "🐳 Building new Docker image..."
35+
docker build -t putrack-server .
36+
37+
echo "🚀 Running new container..."
38+
docker run -d --name putrack-container -p 8080:8080 putrack-server
39+
40+
echo "✅ Deployment completed!"
41+
EOF

Dockerfile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# 1단계: 빌드 전용 단계
2+
FROM --platform=linux/amd64 openjdk:17-jdk-slim as builder
3+
4+
WORKDIR /app
5+
COPY . .
6+
RUN apt-get update && apt-get install -y dos2unix && \
7+
dos2unix gradlew && chmod +x gradlew && \
8+
./gradlew bootJar --no-daemon
9+
10+
# 2단계: 실행 단계
11+
FROM --platform=linux/amd64 openjdk:17-jdk-slim
12+
13+
WORKDIR /app
14+
COPY --from=builder /app/build/libs/*.jar app.jar
15+
16+
ENTRYPOINT ["java", "-Dspring.profiles.active=docker", "-jar", "app.jar"]

build.gradle

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,8 @@ dependencies {
3737
tasks.named('test') {
3838
useJUnitPlatform()
3939
}
40+
41+
jar {
42+
archiveBaseName.set("app")
43+
archiveVersion.set("")
44+
}

gradlew

100644100755
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,4 +248,4 @@ eval "set -- $(
248248
tr '\n' ' '
249249
)" '"$@"'
250250

251-
exec "$JAVACMD" "$@"
251+
exec "$JAVACMD" "$@"

gradlew.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,4 +91,4 @@ exit /b %EXIT_CODE%
9191
:mainEnd
9292
if "%OS%"=="Windows_NT" endlocal
9393

94-
:omega
94+
:omega
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package putrack.server.config;
2+
3+
import io.swagger.v3.oas.models.OpenAPI;
4+
import io.swagger.v3.oas.models.info.Info;
5+
import org.springframework.context.annotation.Bean;
6+
import org.springframework.context.annotation.Configuration;
7+
8+
@Configuration
9+
public class SwaggerConfig {
10+
@Bean
11+
public OpenAPI openAPI() {
12+
return new OpenAPI()
13+
.info(new Info()
14+
.title("PU-Track API")
15+
.description("API documentation for PU-Track")
16+
.version("v1.0"));
17+
}
18+
}

src/main/java/putrack/server/controller/HelloController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77
public class HelloController {
88
@GetMapping("/")
99
public String hello() {
10-
return "Hello, PU-Track!";
10+
return "Hello, PU-Track! (Test Github Action)";
1111
}
1212
}

0 commit comments

Comments
 (0)