Skip to content
name: Netflix Movie Catalog Service Deployment
on:
push:
branches:
- main
env:
EC2_PUBLIC_IP: ec2-18-223-43-49.us-east-2.compute.amazonaws.com # TODO replace to your EC2 instance public IP
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} # TODO define this secret in your GitHub repo settings
jobs:
Deploy:
name: Deploy in EC2
runs-on: ubuntu-latest
steps:
- name: Checkout the app code
uses: actions/checkout@v2
- name: SSH to EC2 instance
run: |
echo "$SSH_PRIVATE_KEY" > mykey.pem
chmod 400 mykey.pem
# Copy the files from the current work dir into the EC2 instance, under `~/home/ubuntu/NetflixMovieCatalog/`.
scp -o StrictHostKeyChecking=no -i mykey.pem -r * ubuntu@$EC2_PUBLIC_IP:~/home/ubuntu/NetflixMovieCatalog/
# Connect to your EC2 instance and execute the `deploy.sh` script (this script is part of the repo files).
# TODO You need to implement the `deploy.sh` script yourself.
#
# Upon completion, the NetflixMovieCatalog app should be running with its newer version.
# To keep the app running in the background independently on the terminal session you are logging to, configure it as a Linux service.
ssh -i mykey.pem ubuntu@$EC2_PUBLIC_IP "bash ~/home/ubuntu/NetflixMovieCatalog/deploy.sh"