-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdeploy.yml
39 lines (33 loc) · 1.06 KB
/
deploy.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
name: Deploy to EC2
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
- name: Build and Push Docker image
run: |
docker build -t jkongtcheu/csc648-sfsu:latest .
docker push jkongtcheu/csc648-sfsu:latest
- name: Deploy to EC2
env:
PRIVATE_KEY: ${{ secrets.EC2_SSH_PRIVATE_KEY }}
HOST: ec2-18-118-200-191.us-east-2.compute.amazonaws.com
USER: remote-user
SSH_PASSWORD: ${{ secrets.EC2_SSH_PASSWORD }}
run: |
echo "$PRIVATE_KEY" > private_key.pem
chmod 600 private_key.pem
ssh -o StrictHostKeyChecking=no -i private_key.pem $USER@$HOST -p "
sudo docker pull jkongtcheu/csc648-sfsu:latest &&
sudo docker run -d --name csc648-container -p 80:80 jkongtcheu/csc648-sfsu:latest
"