-
Notifications
You must be signed in to change notification settings - Fork 0
45 lines (37 loc) · 1.15 KB
/
deploy.yml
File metadata and controls
45 lines (37 loc) · 1.15 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
name: Deploy Crawler to EC2
on:
push:
branches:
- develop
jobs:
deploy:
runs-on: self-hosted
concurrency:
group: crawler-deploy
cancel-in-progress: true
steps:
- name: 1. 최신 코드 가져오기 (Checkout)
uses: actions/checkout@v4
- name: 2. 운영 디렉터리 준비 및 코드 동기화
run: |
mkdir -p /opt/crawler
rsync -av --delete \
--exclude 'logs/' \
--exclude 'data/' \
./ /opt/crawler/
- name: 3. 환경변수(.env) 파일 생성 (운영 경로에 생성)
run: |
cat << EOF > /opt/crawler/.env
S3_BUCKET_NAME=${{ secrets.S3_BUCKET_NAME }}
BATCH_API_URL=${{ secrets.BATCH_API_URL }}
DELIVERY_MODE=${{ secrets.DELIVERY_MODE }}
AWS_REGION=${{ secrets.AWS_REGION }}
EOF
- name: 4. Docker Compose 재빌드 및 재실행
run: |
cd /opt/crawler
docker compose down
docker compose build --no-cache
docker compose up -d
- name: 5. 사용하지 않는 도커 이미지 정리
run: docker image prune -f