Я пытаюсь запустить сценарий bash в выпуске в TFS 2015. Для этого я использую «сценарий оболочки» - задание.
Содержание:
#!/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 Запуск задачи: Shell Script $ (System.DefaultWorkingDirectory) / Build Magento / magento / scripts / build.sh 2018-08-29T09: 04: 08.7988672Z Установить для workingFolder значение по умолчанию: D: \ АгентA \ 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 ## [отладка] system.culture = en-US
2018-08-29T09: 04: 08.9863750Z ## [отладка] загрузить строки из: 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.