Skip to content

Commit 8cb4880

Browse files
authored
Create deploy.yml
1 parent b7cb8f8 commit 8cb4880

1 file changed

Lines changed: 52 additions & 0 deletions

File tree

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Deploy to EC2
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
build-and-deploy:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
# 1. ์†Œ์Šค ์ฝ”๋“œ ์ฒดํฌ์•„์›ƒ
14+
- name: Checkout
15+
uses: actions/checkout@v3
16+
17+
# 2. JDK 17 ์„ค์น˜
18+
- name: Set up JDK 17
19+
uses: actions/setup-java@v3
20+
with:
21+
java-version: '17'
22+
distribution: 'temurin'
23+
24+
# 3. Gradle ์‹คํ–‰ ๊ถŒํ•œ ๋ถ€์—ฌ
25+
- name: Grant execute permission for gradlew
26+
run: chmod +x ./gradlew
27+
28+
# 4. Gradle๋กœ ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ
29+
- name: Build with Gradle
30+
run: ./gradlew build
31+
32+
# 5. ๋นŒ๋“œ๋œ Jar ํŒŒ์ผ๊ณผ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ํŒŒ์ผ์„ EC2๋กœ ์ „์†ก
33+
- name: Deploy to EC2
34+
uses: appleboy/scp-action@master
35+
with:
36+
host: ${{ secrets.AWS_EC2_HOST }}
37+
username: ${{ secrets.AWS_EC2_USERNAME }}
38+
key: ${{ secrets.AWS_SSH_PRIVATE_KEY }}
39+
source: "./build/libs/*.jar,./deploy.sh"
40+
target: "/home/${{ secrets.AWS_EC2_USERNAME }}/"
41+
42+
# 6. EC2์— ์ ‘์†ํ•˜์—ฌ ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰
43+
- name: Execute deployment script
44+
uses: appleboy/ssh-action@master
45+
with:
46+
host: ${{ secrets.AWS_EC2_HOST }}
47+
username: ${{ secrets.AWS_EC2_USERNAME }}
48+
key: ${{ secrets.AWS_SSH_PRIVATE_KEY }}
49+
script: |
50+
echo "${{ secrets.APPLICATION_ENV }}" > /home/${{ secrets.AWS_EC2_USERNAME }}/matzip.env
51+
chmod +x /home/${{ secrets.AWS_EC2_USERNAME }}/deploy.sh
52+
/home/${{ secrets.AWS_EC2_USERNAME }}/deploy.sh

0 commit comments

Comments
ย (0)