-
Notifications
You must be signed in to change notification settings - Fork 1
72 lines (63 loc) · 2.2 KB
/
deploy-dev.yml
File metadata and controls
72 lines (63 loc) · 2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
name: Deploy Dev server
on:
push:
branches:
- "develop"
permissions: write-all
jobs:
build-and-push:
runs-on: ubuntu-latest
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_DEV_REPO: ${{ secrets.DOCKER_DEV_REPO }}
CONTAINER_PORT_DEV: ${{ secrets.CONTAINER_PORT_DEV }}
steps:
- name: 리포지토리를 가져옵니다
uses: actions/checkout@v4
with:
submodules: true
token: ${{ secrets.SUBMODULE_TOKEN }}
- name: JDK 21을 설치합니다
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
cache: gradle
- name: 도커 로그인
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: gradlew 파일에 실행 권한을 부여합니다
run: chmod +x gradlew
- name: Jib를 사용하여 도커 이미지 빌드 및 푸시
run: |
./gradlew jib --no-daemon --console=plain
deploy:
needs: build-and-push
runs-on: ubuntu-latest
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_DEV_REPO: ${{ secrets.DOCKER_DEV_REPO }}
steps:
- name: AWS Credentials 설정
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }}
aws-region: ap-northeast-2
- name: 개발 서버 배포
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.DEV_AWS_EC2_PUBLIC_IP }}
username: ec2-user
key: ${{ secrets.AWS_EC2_PEM_KEY }}
script: |
cd /home/ec2-user/potatoes/dev
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
docker stop develop-server
docker rm develop-server
docker rmi ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_DEV_REPO }}
docker pull ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_DEV_REPO }}:latest
docker-compose up -d
docker image prune -f