我正在尝试借助VSTS(Azure DevOps)到Azure WebApp在Github上为项目创建CI / CD管道。
我正处于流程的开始阶段,我一直坚持让我的项目直接在VSTS中构建。
后端项目是DotNetCore项目,尚未确定前端。
我在github上的存储库看起来像这样
/
-> Project.FrondEnd
-> Project.BackEnd
-> Documents
-> .gitignore
-> readme.md
在Project.BackEnd文件夹中,它看起来像:
/Project.BackEnd
-> Project.Api (Entry point of the server app)
-> Project.Entities
-> Project.DataAccess
-> Project.Services
-> Project.sln
当我在VSTS上配置管道时,我需要编写pipeline.yml文件,但似乎我缺少一些有关如何指向服务器入口点的知识,以便它可以构建项目!
这是我的yml文件
trigger:
- master
pool:
vmImage: 'vs2017-win2016'
variables:
buildConfiguration: 'Release'
steps:
- script: dotnet build --configuration $(buildConfiguration)
displayName: 'dotnet build $(buildConfiguration)'
那样,它不起作用,我收到此消息:
错误MSB1003:指定项目或解决方案文件。当前的工作目录不包含项目或解决方案文件。
我试图将步骤更改为类似的内容
steps:
- script: dir
workingDirectory: $(Agent.BuildDirectory)
displayName: List contents of a folder
- script: dotnet build --configuration $(buildConfiguration)
displayName: 'dotnet build $(buildConfiguration)'
但是我得到了我所在的目录:
/
-> a
-> b
-> s
-> TestResult
我有点迷路了...
所以我如何从Project.BackEnd下的github获取源代码并进行构建,以便我可以继续下一步!?
答案 0 :(得分:1)
您可以在“ build”和--configuration之间指定项目或解决方案的路径。将其设置为类似这样的方法应该可以解决您的问题:
$(Build.SourcesDirectory)/path/toCSProjOrSln.sln
$(Build.SourcesDirectory)
将被之前的内容直接替换,因此您知道自己已经是回购的根源。有关pre-defined variables和dotnet core cli