diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml new file mode 100644 index 0000000..482fc40 --- /dev/null +++ b/.github/workflows/deploy.yaml @@ -0,0 +1,22 @@ +name: Node.js CI/CD + +on: [push] # tells github to run this on any push to the repository + +jobs: + deploy: + runs-on: ubuntu-latest + if: github.ref == 'refs/heads/main' # we tell Github to only execute this step if we're on our main branch (so we don't put unfinished branches in production) + steps: + - name: Deploying to Ayrenn + uses: appleboy/ssh-action@master # An action made to control Linux servers + with: # We set all our secrets here for the action, these won't be shown in the action logs + host: ${{ secrets.HOST }} + username: ${{ secrets.USERNAME }} + key: ${{ secrets.KEY }} + port: ${{ secrets.PORT }} + script: | + cd nodbot-v3 # we move into our app's folder + git pull # we pull any changes from git + npm prune # we remove any unused dependencies + npm install # we install any missing dependencies + pm2 reload all # we reload the app via PM2