gpt4 book ai didi

powershell - VSTS docker 任务在 docker RUN 命令中的 '&&' token 上失败

转载 作者:行者123 更新时间:2023-12-03 09:34:51 28 4
gpt4 key购买 nike

我在 VSTS(在线视觉工作室)中为我的 ASP.NET Core 应用程序配置 CI。
我已经添加了“docker-compose build”任务来构建定义,但它失败并出现错误:

步骤 4/9:运行 dotnet restore QuizService.sln && dotnet publish QuizService.sln -c Release -o obj/Docker/publish
---> 在 7ea0cf1881d1 中运行
... rence = 'SilentlyContinue'; dotnet 恢复 QuizService.sln && dotnet ...
标记“&&”在此版本中不是有效的语句分隔符。
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullQualifiedErrorId : InvalidEndOfLine
服务 'quizservice' 无法构建:命令 'powershell -Command $ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue'; dotnet restore QuizService.sln && dotnet publish QuizService.sln -c Release -o obj/Docker/publish' 返回非零代码:1
##[错误]构建测验服务
##[error] 服务 'quizservice' 构建失败:命令 'powershell -Command $ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue'; dotnet restore QuizService.sln && dotnet publish QuizService.sln -c Release -o obj/Docker/publish' 返回非零代码:1
##[错误]C:\ProgramData\Chocolatey\bin\docker-compose.exe 失败并返回代码:1

问题在于我的 dockerfile 在线:

运行 dotnet restore QuizService.sln && dotnet publish QuizService.sln -c Release -o obj/Docker/publish

不知何故 docker 不理解 '&&' 运算符:
标记“&&”不是有效的语句分隔符。异常本身似乎与 powershell 而不是 docker 有关。 Poweshell 没有“&&”语法,但为什么它开始使用 powershell 来执行 RUN 命令而不是 cmd.exe?

当我在我的开发机器上本地构建时,它就像一个魅力。

有人遇到同样的问题吗?

最佳答案

问题在于不正确的构建代理类型。 “托管 VS2017”构建代理无法构建项目,因为它使用 docker 和 windows 容器(以及 powershell 作为默认 shell )。但是在我的开发机器上,我将 docker 与 linux 容器一起使用(使用/bin/sh 作为默认 shell)。选择正确的构建代理类型解决了问题(因为/bin/sh 理解“&&”)。

关于powershell - VSTS docker 任务在 docker RUN 命令中的 '&&' token 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48736323/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com