Skip to content

chore: fix deploy action #13

chore: fix deploy action

chore: fix deploy action #13

Workflow file for this run

name: Deploy to EC2
on:
push:
branches:
- main
env:
PROJECT: "bolhadev-chat"
DOCKER_REPO: "brunoroh/bolhadev-chat"
DOCKER_USERNAME: "brunoroh"
jobs:
deploy:
runs-on: ubuntu-latest
env:
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: "16"
- name: Build and push Docker image
run: |
docker build -t $PROJECT --build-arg PROJECT=server .
docker tag $PROJECT:latest $DOCKER_REPO:latest
echo "${{ secrets.EC2_HOST }}"
docker login -u $DOCKER_USERNAME -p $DOCKER_TOKEN
docker push $DOCKER_REPO:latest
- name: SSH into EC2 instance and deploy
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USERNAME }}
key: ${{ secrets.MY_EC2_SSH_KEY }}
script: |
sudo docker pull ${{ env.DOCKER_REPO }}:latest
sudo docker stop my-node-app || true
sudo docker rm my-node-app || true
sudo docker run -d -p 3000:3000 --name my-node-app ${{ env.DOCKER_REPO }}:latest