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