26 lines
1007 B
YAML
26 lines
1007 B
YAML
name: Node.js CI/CD
|
|
|
|
on:
|
|
push: # tells github to run this on any push to the repository
|
|
branches:
|
|
- main
|
|
|
|
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 # 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 nodbot # we reload the app via PM2
|