Skip to content

Commit aa5ef83

Browse files
committed
feat : GitHub Action
1 parent a8f62d8 commit aa5ef83

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed

.github/workflows/gradle.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Java CI/CD with Gradle
2+
3+
on:
4+
push:
5+
branches: [ "main" ]
6+
7+
permissions:
8+
contents: read
9+
10+
jobs:
11+
build-docker-image:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v3
15+
16+
# 1. Java 17 세팅
17+
- name: Set up JDK 17
18+
uses: actions/setup-java@v3
19+
with:
20+
java-version: '17'
21+
distribution: 'temurin'
22+
23+
# 2. Spring Boot 애플리케이션 빌드
24+
- name: Build with Gradle
25+
uses: gradle/gradle-build-action@v2
26+
with:
27+
arguments: clean bootJar
28+
29+
# 3. Docker 이미지 빌드
30+
- name: docker image build
31+
run: docker buildx build --platform=linux/arm64 -t ${{ secrets.DOCKERHUB_USERNAME }}/attachit:latest .
32+
33+
# 4. Dockerhub 로그인
34+
- name: docker login
35+
uses: docker/login-action@v2
36+
with:
37+
username: ${{ secrets.DOCKERHUB_USERNAME }}
38+
password: ${{ secrets.DOCKERHUB_TOKEN }}
39+
40+
# 5. Dockerhub push
41+
- name: docker hub push
42+
run: docker push ${{ secrets.DOCKERHUB_USERNAME }}/attachit:latest
43+
44+
- name: Connect to WAS & Execute Application
45+
uses: appleboy/[email protected]
46+
with:
47+
host: ${{ secrets.WAS_HOST }}
48+
username: ${{ secrets.WAS_USERNAME }}
49+
password: ${{ secrets.SSH_PASSWORD }}
50+
port: ${{ secrets.WAS_SSH_PORT }}
51+
script: |
52+
cd ~/attachit
53+
docker-compose down
54+
docker-compose pull
55+
docker-compose up -d

Dockerfile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM openjdk:17-oracle
2+
3+
WORKDIR /app
4+
5+
ARG JAR_FILE=build/libs/*.jar
6+
7+
COPY ${JAR_FILE} app.jar
8+
9+
EXPOSE 8082
10+
11+
CMD ["java", "-jar", "app.jar"]

0 commit comments

Comments
 (0)