
[英]Azure build pipeline - Get sources - clean - what is the difference between `Sources` and `Sources directory`?
[英]What is the source directory of the build?
我有以下任务:
steps:
- task: MSBuild@1
displayName: '$(ProjectName) .Net build | Build solution (No need to build test as well)'
inputs:
solution: '**/$(ProjectName)/*.csproj'
msbuildArchitecture: x64
configuration: Release
msbuildArguments: '/p:OutputPath=$(Build.ArtifactStagingDirectory)'
clean: true
steps:
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)/Release'
inputs:
SourceFolder: '$(Build.ArtifactStagingDirectory)/$(ProjectName)'
Contents: |
bin/**
Bundles/**
Views/**
appsettings.json
appsettings.Development.json
*.txt
**/wwwroot/favicon-*.png
**/wwwroot/favicon-*.ico
TargetFolder: '$(Build.ArtifactStagingDirectory)/Release'
由于某种原因,复制步骤失败并显示: ##[error]Error: Not found SourceFolder: D:\a\1\a\projectname
这是为什么?
在本地 VS 构建之后,我的项目 output 结构是这样的:
pipeline.Net 构建步骤创建目录如下:
Creating directory "D:\a\1\a\nl".
Creating directory "D:\a\1\a\cs".
Creating directory "D:\a\1\a\de".
...
2022-09-21T02:38:30.3292966Z Creating directory "D:\a\1\a\runtimes\win-arm\native".
2022-09-21T02:38:30.3293353Z Creating directory "D:\a\1\a\runtimes\win\lib\netcoreapp3.1".
2022-09-21T02:38:30.3293727Z Creating directory "D:\a\1\a\runtimes\win-arm64\native".
2022-09-21T02:38:31.1717424Z Creating directory "D:\a\1\a\refs".
2022-09-21T02:38:31.1717862Z Creating directory "D:\a\1\a\refs".
2022-09-21T02:38:31.1718174Z Creating directory "D:\a\1\a\refs".
所以我假设源是D:\a\1\a\projectname
或SourceFolder: '$(Build.ArtifactStagingDirectory)/$(ProjectName)'
但这似乎不起作用。
我的理由是在开发人员将项目升级到 .NET6 之前,在旧的 asp.NET model 中,output 是一个 wwwroot 目录,因此它会在构建日志中转换为:
Creating directory "D:\a\1\a\_PublishedWebsites\projectname\Content\...
所以我的复制任务源将是SourceFolder: '$(Build.ArtifactStagingDirectory)/_PublishedWebsites/$(ProjectName)'
并且通常可以正常工作。
但是_PublishedWebsites
似乎不再是 .NET6 构建 output 的一部分,所以我不确定现在的来源是什么
要确定构建如何生成目录结构,您可以添加以下任务并检查 output:
steps:
- task: MSBuild@1
displayName: '$(ProjectName) .Net build | Build solution (No need to build test as well)'
inputs:
solution: '**/$(ProjectName)/*.csproj'
msbuildArchitecture: x64
configuration: Release
msbuildArguments: '/p:OutputPath=$(Build.ArtifactStagingDirectory)'
clean: true
- powershell: |
Get-ChildItem $(Build.ArtifactStagingDirectory) -Recurse
displayName: 'Check agent directories'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.