Skip to content

nothing basically

nothing basically #44

Workflow file for this run

name: Deploy to EC2
on:
push:
branches:
- master
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: 16
- name: Install dependencies
run: npm ci
- name: Install ssh-keyscan
run: sudo apt-get update && sudo apt-get install -y openssh-client
- name: Create SSH directory
run: mkdir -p ~/.ssh
- name: Deploy to EC2
env:
ENV_FILE: ${{ secrets.ENV_FILE }}
PRIVATE_KEY: ${{ secrets.EC2_SSH_PRIVATE_KEY }}
HOST: ${{ secrets.EC2_HOST }}
USER: ${{ secrets.EC2_USER }}
run: |
ssh-keyscan -H $HOST >> ~/.ssh/known_hosts
echo "$PRIVATE_KEY" > private_key.pem
chmod 600 private_key.pem
echo "$ENV_FILE" > .env
ssh -i private_key.pem $USER@$HOST "mkdir -p ~/wa-store"
rsync -avz --exclude-from=.deployignore -e "ssh -i private_key.pem" ./ $USER@$HOST:~/wa-store
ssh -i private_key.pem $USER@$HOST "sudo yum install -y wget"
ssh -i private_key.pem $USER@$HOST "wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm"
ssh -i private_key.pem $USER@$HOST "sudo yum localinstall -y google-chrome-stable_current_x86_64.rpm"
ssh -i private_key.pem $USER@$HOST "curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash && . ~/.nvm/nvm.sh && nvm install --lts && nvm use --lts && npm install -g pm2"
ssh -i private_key.pem $USER@$HOST "cd ~/wa-store && npm ci && pm2 startOrRestart ecosystem.config.cjs"
rm -f private_key.pem
rm -f .env