Я пытаюсь запустить сценарий bash в версии TFS 2015. Для этого я использую "Shell Script" - Job.
Содержание:
#!/bin/bash
echo "Start SSH"
ssh user@ip << EOF
echo "Unzip"
unzip -o -d A B.zip
rm B.zip
cp -r A/. B
rm -rf A
echo "Finished"
EOF
Я пробовал сценарий на моем bash, и ist работает правильно, но при запуске выпуска у меня есть:
2018-08-29T09: 04: 08.7988672Z Запуск задачи: Сценарий оболочки $ (System.DefaultWorkingDirectory) / Сборка Magento / magento / scripts / build.sh 2018-08-29T09: 04: 08.7988672Z Установить WorkingFolder по умолчанию: D: \ AgentA \ tasks \ ShellScript \ 1.0.17
2018-08-29T09: 04: 08.9863750Z ## [отладка] путь проверки: D: \ AgentA \ tasks \ ShellScript \ 1.0.17 \ task.json
2018-08-29T09: 04: 08.9863750Z ## [debug] установить файл ресурсов на: D: \ AgentA \ tasks \ ShellScript \ 1.0.17 \ task.json
2018-08-29T09: 04: 08.9863750Z ## [debug] system.culture = en-US
2018-08-29T09: 04: 08.9863750Z ## [debug] загрузить строки из: D: \ AgentA \ tasks \ ShellScript \ 1.0.17 \ task.json
2018-08-29T09: 04: 08.9863750Z ## [debug] загрузить строки loc из: D: \ AgentA \ tasks \ ShellScript \ 1.0.17 \ Strings \ resources.resjson \ en-US \ resources.resjson 2018-08-29T09: 04: 08.9863750Z ## [отладка] путь проверки: null
2018-08-29T09: 04: 08.9863750Z ## [debug] загрузить строки из: D: \ AgentA \ tasks \ ShellScript \ 1.0.17 \ node_modules \ vsts-task-lib \ lib.json 2018-08-29T09: 04: 08.9863750Z ## [debug] загрузить строки loc из: D: \ AgentA \ tasks \ ShellScript \ 1.0.17 \ node_modules \ vsts-task-lib \ Strings \ resources.resjson \ en-US \ resources.resjson 2018-08-29T09: 04: 08.9863750Z ## [отладка] результат задачи: сбой
2018-08-29T09: 04: 08.9863750Z Не найдено bash: null
2018-08-29T09: 04: 09.0019981Z Задача завершения: ShellScript
2018-08-29T09: 04: 09.0176245Z ## [ошибка] Ошибка сценария оболочки задачи. Эта привел к сбою работы. Посмотрите логи задачи, чтобы узнать больше подробности.
В конечном итоге Bash отсутствует на TFS 2015?
Итак, у меня есть обходной путь. Я использую Plink в CommandLine-Job. Работа вызывает Plink, и Plink подключается к цели и выполняет указанные команды. Plink.exe должен находиться в TFS.