Phi*_*rov 3 powershell docker azure-devops asp.net-core
我在VSTS(在线Visual Studio)中为ASP.NET Core应用程序配置CI。我添加了“ docker-compose build”任务来构建定义,但是它失败并出现错误:
步骤4/9:运行dotnet还原QuizService.sln && dotnet发布QuizService.sln -c版本-o obj / Docker / publish
--->在7ea0cf1881d1中运行
... rence ='SilentlyContinue'; dotnet恢复QuizService.sln && dotnet ...
在此版本中,标记“ &&”不是有效的语句分隔符。
+ CategoryInfo:ParserError:(:) [],ParentContainsErrorRecordException
+ FullyQualifiedErrorId:InvalidEndOfLine
服务'quizservice'构建失败:命令'powershell -Command $ ErrorActionPreference ='Stop'; $ ProgressPreference ='SilentlyContinue'; dotnet恢复QuizService.sln && dotnet发布QuizService.sln -c版本-o obj / Docker / publish'返回非零代码:1
## [错误]构建测验服务
## [error] Service'quizservice'生成失败:命令'powershell -Command $ ErrorActionPreference ='Stop'; $ ProgressPreference ='SilentlyContinue'; dotnet恢复QuizService.sln && dotnet发布QuizService.sln -c版本-o obj / Docker / publish'返回非零代码:1
## [错误] C:\ ProgramData \ Chocolatey \ bin \ docker-compose.exe失败,返回码:1
问题出在我的dockerfile上:
运行dotnet还原QuizService.sln && dotnet发布QuizService.sln -c版本-o obj / Docker / publish
码头工人以某种方式不理解'&&'运算符: 令牌'&&'不是有效的语句分隔符。异常本身似乎与powershell有关,而不与docker有关。Poweshell没有'&&'语法,但是为什么它在这里开始使用Powershell来运行RUN命令而不是cmd.exe?
当我在开发机器上本地构建时,它就像一种魅力。
有人遇到过同样的问题吗?
问题出在错误的构建代理类型中。“托管的VS2017”构建代理无法构建项目,因为它使用带有Windows容器的docker(并且将powershell作为默认外壳)。但是在我的开发机上,我将docker与linux容器一起使用(/ bin / sh为默认外壳)。选择正确的构建代理类型可以解决此问题(因为/ bin / sh理解'&&')。
| 归档时间: |
|
| 查看次数: |
1197 次 |
| 最近记录: |