36 lines
830 B
YAML
36 lines
830 B
YAML
name: Deploy
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: docker
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Set up SSH
|
|
run: |
|
|
mkdir -p ~/.ssh/
|
|
echo "${{ secrets.SSH_KEY }}" > ./deploy.key
|
|
chmod 600 ./deploy.key
|
|
echo "${{ secrets.SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
|
|
|
|
- name: Create env file
|
|
run: |
|
|
touch .env
|
|
echo EMAIL_ACCESS_KEY=${{ secrets.EMAIL_ACCESS_KEY }} >> .env
|
|
echo EMAIL_BASE_URL=${{ secrets.EMAIL_BASE_URL }} >> .env
|
|
|
|
- name: Verify .env file creation
|
|
run: cat .env
|
|
|
|
- name: Install PM2
|
|
run: npm i -g pm2
|
|
|
|
- name: Deploy
|
|
run: env $(cat .env | grep -v \"#\" | xargs) pm2 deploy ecosystem.config.cjs production
|