Skip to content

update text content on fitxp card #23

update text content on fitxp card

update text content on fitxp card #23

Workflow file for this run

name: Build and Deploy
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Restore NPM cache
uses: actions/cache@v3
with:
path: ~/.npm
key: npm-packages-${{ hashFiles('package-lock.json') }}
restore-keys: npm-packages-
- name: Install dependencies
run: npm install
- name: Build application
run: npm run build
docker_build_and_push:
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Log in to AWS ECR
run: |
aws ecr get-login-password --region sa-east-1 | docker login --username AWS --password-stdin 891377290474.dkr.ecr.sa-east-1.amazonaws.com
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: sa-east-1
- name: Build Docker image
run: docker build -t blogfolio/frontend .
- name: Tag Docker image
run: docker tag blogfolio/frontend:latest 891377290474.dkr.ecr.sa-east-1.amazonaws.com/blogfolio/frontend:latest
- name: Push Docker image to ECR
run: docker push 891377290474.dkr.ecr.sa-east-1.amazonaws.com/blogfolio/frontend:latest
deploy:
needs: docker_build_and_push
runs-on: ubuntu-latest
steps:
- name: Add SSH key and known hosts
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.EC2_SSH_PRIVATE_KEY }}
known_hosts: |
ec2-15-228-23-138.sa-east-1.compute.amazonaws.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDdsIQQShWLEJX7JbjvEaXWINPazEko7z/pERXszY+7Vr6fLkaDNrBHRZONloj/uZbBpGfXmOFcH+ynZhVf6JD+IX9KxlCAXUztH+4o+43k/fkH2Te4yakiRdVppAU7m550dh/DBWms8soG5fH7DvLuI8nV82spyOClNmsx24cVjS4pz6/Z8z0f7QZ8VSBWYd4pBPE4ldC+Xdq8dnEzplv+2/fal3vrftN0WaYYJ1zGDsc4oxGOUhGgf0SiDiZSrjHBbYmquxn12RBWyR1ZbyPqyBUW1LGxO9r5nzbVNrLU+adSOEijIu19YI4HQT/EGsuJgKftt7vLGjnzo2QZbOMZK38YXSmRZXEKEFreE57BMCJlxcUG4cqx830VwfNX0ldpmrPcFoFDEi7vnIMKYcgn4EhXcPSzGVgd+ArgJobsvOleFlwu+e4hWhj7AE3RVVpSwxC41Q0yZwrHkFvh89ZBEHeEZyYC+Ha9s6ppcDyfdA6+0JAaxLk8Vdeh3ATQXN0=
- name: Authenticate on AWS ECR over SSH
run: |
ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "aws ecr get-login-password --region sa-east-1 | sudo docker login --username AWS --password-stdin 891377290474.dkr.ecr.sa-east-1.amazonaws.com"
- name: Remove existing Docker container
run: |
ssh ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "sudo docker rm --force frontend_app_1 || true"
- name: Pull the latest Docker image
run: |
ssh ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "sudo docker pull 891377290474.dkr.ecr.sa-east-1.amazonaws.com/blogfolio/frontend:latest"
- name: Run the new Docker container
run: |
ssh ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "sudo docker run --name frontend_app_1 --network frontend --restart unless-stopped -d 891377290474.dkr.ecr.sa-east-1.amazonaws.com/blogfolio/frontend:latest"