使用Github Repo的Azure / DevOps-构建项目的路径

时间:2019-01-15 18:59:12

标签: azure-devops azure-pipelines

我正在尝试借助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获取源代码并进行构建,以便我可以继续下一步!?

1 个答案:

答案 0 :(得分:1)

您可以在“ build”和--configuration之间指定项目或解决方案的路径。将其设置为类似这样的方法应该可以解决您的问题:

$(Build.SourcesDirectory)/path/toCSProjOrSln.sln

$(Build.SourcesDirectory)将被之前的内容直接替换,因此您知道自己已经是回购的根源。有关pre-defined variablesdotnet core cli

的更多信息