TFS Run Shell이 ​​작동하지 않습니다. bash를 찾을 수 없습니다: null

TFS Run Shell이 ​​작동하지 않습니다. bash를 찾을 수 없습니다: null

TFS 2015 릴리스에서 bash 스크립트를 실행하려고 합니다. 이를 위해 "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 시작 작업: Shell Script $(System.DefaultWorkingDirectory)/Build Magento/magento/scripts/build.sh 2018-08-29T09:04:08.7988672Z 작업 폴더를 기본값으로 설정: 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 ##[디버그] 리소스 파일을 다음으로 설정: 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 ##[디버그] 다음에서 문자열 로드: D:\AgentA\tasks\ShellScript\1.0.17\task.json
2018-08-29T09:04:08.9863750Z ##[디버그 ] 다음에서 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 ##[디버그]다음에서 문자열 로드: D:\AgentA\tasks\ShellScript\1.0.17\node_modules\vsts-task-lib\lib.json 2018-08-29T09: 04:08.9863750Z ##[디버그]다음에서 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 ##[오류]작업 ShellScript가 실패했습니다. 이로 인해 작업이 실패했습니다. 자세한 내용은 작업 로그를 확인하세요.

결국 Bash는 TFS 2015에 없나요?

답변1

그래서 해결 방법이 있습니다. CommandLine-Job에서 Plink를 사용하고 있습니다. Job은 Plink를 호출하고 Plink는 대상에 연결하여 지정된 명령을 실행합니다. Plink.exe는 TFS에 있어야 합니다.

관련 정보