-
Notifications
You must be signed in to change notification settings - Fork 0
74 lines (64 loc) · 2.17 KB
/
ci-cd.yml
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
73
74
# New instance3
name: CI/CD Pipeline
on:
push:
branches:
- main
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
# Checkout the code
- name: Checkout code
uses: actions/checkout@v3
# Log in to Docker Hub
- name: Log in to Docker Hub
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
# Build and Push Docker Image
- name: Build and Push Docker Image
working-directory: ./
run: |
docker build -t ${{ secrets.DOCKER_USERNAME }}/bookmile-app:latest .
docker push ${{ secrets.DOCKER_USERNAME }}/bookmile-app:latest
# .env 파일 생성
- name: Create .env File
run: |
touch ./.env
echo "${{ secrets.ENVIRONMENT }}" > ./.env
# .env 내용
- name: reading env file
run: |
cat ./.env
ls ./
# .gitignore에 있는 properties파일 추가
- name: Add prod_properties
run: |
mkdir -p ./src/main/resources
touch ./src/main/resources/application.properties
touch ./src/main/resources/application-oauth.properties
touch ./src/main/resources/application-private.properties
echo "${{ secrets.PROPERTIES }}" > ./src/main/resources/application.properties
echo "${{ secrets.OAUTHPROPERTIES }}" > ./src/main/resources/application-oauth.properties
echo "${{ secrets.PRIVATEPROPERTIES }}" > ./src/main/resources/application-private.properties
# Transfer Docker Compose File to EC2
- name: Transfer Docker Compose to EC2
uses: appleboy/scp-action@v0.1.7
with:
host: ${{ secrets.EC2_HOST }}
username: ubuntu
key: ${{ secrets.EC2_KEY }}
source: ./*
target: ~/backend/
# Deploy to EC2
- name: Deploy to EC2
uses: appleboy/ssh-action@v1.2.0
with:
host: ${{ secrets.EC2_HOST }}
username: ubuntu
key: ${{ secrets.EC2_KEY }}
debug: true
script: |
cd ~/backend
sudo docker pull ${{ secrets.DOCKER_USERNAME }}/bookmile-app:latest
sudo docker-compose down
sudo docker-compose up -d --build