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 master 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