Jenkins do tnet lambda deploy-serverless Не удалось выполнить, поскольку указанная команда или файл не найдены - PullRequest
0 голосов
/ 15 февраля 2020

Я новичок в CI / CD и пытаюсь развернуть простую функцию без сервера через Jenkins и получаю сообщение об ошибке.

Вот мои шаги

  1. Создайте новый проект с помощью do tnet new serverless.AspNetCoreWebAPI
  2. Настроен Git источник {GitHub}, где расположен этот проект.
  3. Добавлены следующие строки в шаге сборки

    `export PATH = $ PATH: / usr / local / share / do tnet: / usr / local / bin

    do tnet lambda deploy-serverless`

После при выполнении вышеуказанной команды я получаю сообщение об ошибке

/ usr / local / share / dotnet / do tnet lambda deploy-serverless Не удалось выполнить, поскольку указанная команда или файл не найдены. Возможные причины этого: Вы неправильно написали встроенную команду do tnet. Вы намеревались выполнить программу. NET Core, но do tnet -lambda не существует. Вы намеревались запустить глобальный инструмент, но в PATH не удалось найти исполняемый файл с префиксом do tnet с таким именем. Шаг сборки 'Выполнить оболочку', помеченный как сбой Закончено: FAILURE

Нет необходимости говорить, что я могу успешно запустить do tnet lambda deploy-serverless при использовании окна терминала.

Любая идея что здесь не так?

Ответы [ 2 ]

0 голосов
/ 27 апреля 2020

Сначала установите команду в CMD

do tnet tool install -g Amazon.Lambda.Tools

Затем вы можете найти команду do tnet в CMD.

0 голосов
/ 16 февраля 2020

Наконец-то решена проблема.

Сравнил файлы .csproj: один для успешного развертывания лямбда-систем и один, где он не работал. Заметил, что следующие строки были разницей. Это сработало, как только я добавил ниже в свой файл проекта.

<ItemGroup><DotNetCliToolReference Include="Amazon.Lambda.Tools" Version="2.2.0" /></ItemGroup>

Будет еще интересно узнать, почему tnet lambda deploy-serverless работает из окна терминала для того же проект без вышеуказанной строки, но не изнутри работы Дженкинса.

...