Я пытаюсь запустить 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, и он работает правильно, но при запуске релиза я получаю:
2018-08-29T09:04:08.7988672Z Запуск задачи: Shell Script $(System.DefaultWorkingDirectory)/Build 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 ##[debug]проверить путь: 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 ##[debug]проверить путь: 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 ##[debug]результат задачи: Не удалось
2018-08-29T09:04:08.9863750Z Не найдено bash: null
2018-08-29T09:04:09.0019981Z Завершение задачи: ShellScript
2018-08-29T09:04:09.0176245Z ##[error]Ошибка задачи ShellScript. Это привело к сбою задания. Для получения более подробной информации просмотрите журналы задания.
Неужели Bash не будет в TFS 2015?
решение1
Итак, у меня есть обходной путь. Я использую Plink в CommandLine-Job. Job вызывает Plink, а Plink подключается к цели и выполняет указанные команды. Plink.exe должен быть на TFS.