Мое бессерверное развертывание CI / CD терпит неудачу, потому что не может установить частный пакет npm.
Ошибка ------------------------------------------------- -
Ошибка установки npm с кодом 1 npm ERR! код ENOENT npm ERR! syscall spawn git npm ERR! путь git npm ERR! errno ENOENT npm ERR! enoent Ошибка при выполнении: npm ERR! enoent undefined ls-remote -h -t ssh: //[email protected]/private-org/private-repo.git npm ERR! enoent npm ERR! enoent npm ERR! enoent spawn git ENOENT npm ERR! enoent Это связано с тем, что npm не может найти файл. npm ERR! enoent
npm ERR! Полный журнал этого запуска можно найти в: npm ERR! /github/home/.npm/_logs/2020-05-28T13_30_18_595Z-debug.log
at ChildProcess.child.on.exitCode (/github/workspace/node_modules/serverless-webpack/lib/utils.js:91:16) at ChildProcess.emit (events.js:198:13) at ChildProcess.EventEmitter.emit (domain.js:448:20) at maybeClose (internal/child_process.js:982:16) at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
Из предыдущего события: в PluginManager.invoke (/usr/local/lib/node_modules/serverless/lib/classes/PluginManager.js:505:22) в PluginManager.spawn (/ usr / local / lib / node_modules / serverless / lib / classes / PluginManager.js: 525: 17) в ServerlessWebpack.BbPromise.bind.then.then.then (/github/workspace/node_modules/serverless-webpack/index.js:91:53) в runCallback (timers.js: 705 : 18) в tryOnImmediate (timers.js: 676: 5) в processImmediate (timers.js: 658: 5) в process.topLevelDomainCallback (domain.js: 126: 23)
Получить поддержку -------------------------------------------- Документы: docs. serverless.com Ошибки: github.com/serverless/serverless/issues Проблемы: forum.serverless.com Информация о вашей среде -------------------------- - Операционная система: linux Версия узла: 10.20.1 Версия платформы: 1.54.0 Версия плагина: 3.6.12 Версия SDK: 2.3.1 Версия ядра компонентов: 1.1.2 Версия интерфейса командной строки компонентов: 1.4.0
deploy:
name: deploy
needs: test
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/setup-node@v1
with:
node-version: '12.x'
- uses: webfactory/[email protected]
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: npm install
run: npm install
- name: serverless deploy
uses: serverless/github-action@master
with:
args: deploy
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
SLS_DEBUG: true
Обычно я решаю эту проблему с помощью webfactory/[email protected], поэтому первая установка npm здесь отлично работает, и ей удается установить частный пакет с использованием предоставленного ключа SSH.
Однако во время бессерверного развертывания я получаю указанную выше ошибку, и он не может установить частный пакет npm. Есть ли способ указать SSH-ключ для использования безсерверного действия?