Действия Github err: bash: строка 3: npm: команда не найдена - PullRequest
2 голосов
/ 12 июля 2020

Я пытаюсь развернуть приложение nodejs с github на удаленный сервер ubuntu через s sh. Вот мой main.yml:

name: Node Github CI

on:
  push:
    branches:
      - master

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
    - name: Node Js
      uses: actions/setup-node@v1
       
    - name: SSH and deploy node app
      uses: appleboy/ssh-action@master        
      with:
        host: ${{ secrets.SERVER_IP }}
        username: ${{ secrets.USERNAME }}
        key: ${{ secrets.SERVER_KEY }}
        script: |
          service myservice stop
          cd leancrm-backend
          git pull git://myuser@github.com/mycmp/myapp-backend.git master
          npm install
          service myservice start

Когда я запускаю это, я получаю такую ​​ошибку:

======CMD======
service myservice stop
cd myapp-backend
git pull git://myuser@github.com/mycmp/myapp-backend.git master
npm install
service myservice start

======END======
err: fatal: Unable to look up myuser@github.com (port 9418) (Name or service not known)
err: bash: line 3: npm: command not found
==============================================

Снимок экрана: введите описание изображения здесь

Ответы [ 2 ]

1 голос
/ 13 июля 2020

Ваш первый шаг

name: Node Js
      uses: actions/setup-node@v1

настраивает Node.js на сборщике сборки GitHub. Однако ваш второй шаг ...

 name: SSH and deploy node app
      uses: appleboy/ssh-action@master        
      with:
        host: ${{ secrets.SERVER_IP }}
        username: ${{ secrets.USERNAME }}
        key: ${{ secrets.SERVER_KEY }}
        script: |
          service myservice stop
          cd leancrm-backend
          git pull git://myuser@github.com/mycmp/myapp-backend.git master
          npm install
          service myservice start

... SSH к вашему серверу, а затем запускает инструкции сценария там . Вы также пытаетесь проверить там свое репозиторий с исходным кодом.

Что вы, вероятно, захотите сделать, так это проверить свое репо в средстве выполнения сборки GitHub ...

- name: Checkout repo
  uses: actions/checkout@v2

.. затем запустите здесь npm install, затем scp вывод на ваш сервер и, наконец, ssh на этот компьютер и перезапустите службу.

0 голосов
/ 07 сентября 2020

Поскольку вы подключены к своему серверу, я предполагаю, что у вас уже есть репо, поэтому вам нужно только выполнить git pull.

Также вы должны добавить эти строки в начало скрипта:

export NVM_DIR=~/.nvm
source ~/.nvm/nvm.sh

Мой yml-файл в конце выглядит так:

script: |
  git pull
  export NVM_DIR=~/.nvm
  source ~/.nvm/nvm.sh                
  npm install
  npm run start_server
...