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

Vin*_*nce 2 azure-devops azure-pipelines

我正在尝试在 VSTS(Azure DevOps)到 Azure WebApp 的帮助下为 Github 上的项目创建 CI/CD 管道。

我正处于该过程的开始阶段,并且一直坚持让我的项目直接在 VSTS 中构建。

后端项目为DotNetCore项目,前端尚未确定。

我在 github 上的存储库看起来像这样

/
 -> Project.FrondEnd
 -> Project.BackEnd
 -> Documents
 -> .gitignore
 -> readme.md
Run Code Online (Sandbox Code Playgroud)

在文件夹 Project.BackEnd 中,它将如下所示:

/Project.BackEnd
 -> Project.Api (Entry point of the server app)
 -> Project.Entities
 -> Project.DataAccess
 -> Project.Services
 -> Project.sln
Run Code Online (Sandbox Code Playgroud)

当我在 VSTS 上配置管道时,我需要编写 pipeline.yml 文件,但似乎我缺少一些关于如何指向我的服务器入口点以便它可以构建项目的知识!

这是我的 yml 文件

trigger:
- master

pool:
  vmImage: 'vs2017-win2016'

variables:
  buildConfiguration: 'Release'

steps:
- script: dotnet build --configuration $(buildConfiguration)
  displayName: 'dotnet build $(buildConfiguration)'
Run Code Online (Sandbox Code Playgroud)

这样它就行不通了,我收到了这条消息:

错误 MSB1003:指定项目或解决方案文件。当前工作目录不包含项目或解决方案文件。

我试图将步骤更改为这样的

steps:
- script: dir
  workingDirectory: $(Agent.BuildDirectory)
  displayName: List contents of a folder

- script: dotnet build --configuration $(buildConfiguration)
  displayName: 'dotnet build $(buildConfiguration)'
Run Code Online (Sandbox Code Playgroud)

但我得到了我所在的目录:

/
 -> a
 -> b
 -> s
 -> TestResult
Run Code Online (Sandbox Code Playgroud)

我有点失落...

那么如何从我的 github 下的 Project.BackEnd 获取源代码并构建它,以便我可以继续下一步!?

bay*_*wet 6

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

$(Build.SourcesDirectory)/path/toCSProjOrSln.sln
Run Code Online (Sandbox Code Playgroud)

$(Build.SourcesDirectory)将直接被 whatbefore/s 替换,所以你知道你是你的回购的根。有关预定义变量dotnet core cli 的更多信息