Azure Pipeline Archive 没有这样的文件或目录失败
Azure Pipeline Archive fails no such file or directory
我正在使用 Azure CI/CD 管道。该项目是一个成功构建的 ASP.NET 应用程序(网站项目)。 Azure Pipeline Archive 找不到目录 D:/a/_temp/WebAppContent.
我不知道管道中“存档文件”之前的“构建解决方案”是否导致了问题。
我在哪里可以检查以确保在“存档文件”之前创建了 rootFolderOrFile?
YAML
steps:
- task: VSBuild@1
displayName: 'Build solution **\*.sln'
inputs:
solution: '$(Parameters.solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:publishUrl="$(Agent.TempDirectory)\WebAppContent\"'
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
steps:
- task: ArchiveFiles@2
displayName: 'Archive Files'
inputs:
rootFolderOrFile: '$(Agent.TempDirectory)\WebAppContent'
includeRootFolder: false
错误
ls: no such file or directory: D:/a/_temp/WebAppContent
Found 0 files
##[error]Error: ENOENT: no such file or directory, stat 'D:\a\_temp\WebAppContent'
##[error]ENOENT: no such file or directory, stat 'D:\a\_temp\WebAppContent'
Finishing: Archive Files
这是我的管道截图
Agent.TempDirectory 是代理中的临时文件夹,检查这个 doc。
我们可以通过
将输出文件打包保存到指定位置
/p:WebPublishMethod=Package /p:PackageLocation="$(Agent.TempDirectory)\WebAppContent\"
结果:
我终于解决了这个问题。请参阅下面我正在使用的管道。
创建一个新的 VS 解决方案和一个新的 Class 库项目
Git 提交到 Azure > 并构建(成功)
在新解决方案> 添加现有项目> 网站(这是带有 aspx 和 aspx.cs 页面的遗留 asp.net 应用程序)
在网站中,您必须添加website.publishproj
在本地构建并 运行 在本地构建(成功)
Git 再次提交到 Azure > 缺少一些 DLL
使用包含文件向项目添加了缺少的 DLL
Git 再次提交到 Azure > 现在 DLL 被推送到 Git
在 Azure 中成功构建。
主要问题是我需要创建一个全新的解决方案+项目,然后添加现有网站
更新:
我必须删除默认的存档步骤并从“查找”菜单重新添加
更新二:
这是正在运行的 YAML
trigger:
- main
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@1
displayName: NuGet - Installer
- task: NuGetCommand@2
displayName: NuGet - Restore
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
displayName: VS Build Legacy App publishproj
inputs:
solution: '**\*.publishproj'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: AzureRmWebAppDeployment@4
displayName: Azure WebApp Publish
inputs:
ConnectionType: 'AzureRM'
azureSubscription: 'Azure WebApp'
appType: 'webApp'
WebAppName: 'XXXXXXXX'
packageForLinux: '$(build.artifactStagingDirectory)/**/*.zip'
我正在使用 Azure CI/CD 管道。该项目是一个成功构建的 ASP.NET 应用程序(网站项目)。 Azure Pipeline Archive 找不到目录 D:/a/_temp/WebAppContent.
我不知道管道中“存档文件”之前的“构建解决方案”是否导致了问题。
我在哪里可以检查以确保在“存档文件”之前创建了 rootFolderOrFile?
YAML
steps:
- task: VSBuild@1
displayName: 'Build solution **\*.sln'
inputs:
solution: '$(Parameters.solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:publishUrl="$(Agent.TempDirectory)\WebAppContent\"'
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
steps:
- task: ArchiveFiles@2
displayName: 'Archive Files'
inputs:
rootFolderOrFile: '$(Agent.TempDirectory)\WebAppContent'
includeRootFolder: false
错误
ls: no such file or directory: D:/a/_temp/WebAppContent
Found 0 files
##[error]Error: ENOENT: no such file or directory, stat 'D:\a\_temp\WebAppContent'
##[error]ENOENT: no such file or directory, stat 'D:\a\_temp\WebAppContent'
Finishing: Archive Files
这是我的管道截图
Agent.TempDirectory 是代理中的临时文件夹,检查这个 doc。
我们可以通过
将输出文件打包保存到指定位置 /p:WebPublishMethod=Package /p:PackageLocation="$(Agent.TempDirectory)\WebAppContent\"
结果:
我终于解决了这个问题。请参阅下面我正在使用的管道。
创建一个新的 VS 解决方案和一个新的 Class 库项目
Git 提交到 Azure > 并构建(成功)
在新解决方案> 添加现有项目> 网站(这是带有 aspx 和 aspx.cs 页面的遗留 asp.net 应用程序)
在网站中,您必须添加website.publishproj
在本地构建并 运行 在本地构建(成功)
Git 再次提交到 Azure > 缺少一些 DLL
使用包含文件向项目添加了缺少的 DLL
Git 再次提交到 Azure > 现在 DLL 被推送到 Git
在 Azure 中成功构建。
主要问题是我需要创建一个全新的解决方案+项目,然后添加现有网站
更新: 我必须删除默认的存档步骤并从“查找”菜单重新添加
更新二: 这是正在运行的 YAML
trigger:
- main
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@1
displayName: NuGet - Installer
- task: NuGetCommand@2
displayName: NuGet - Restore
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
displayName: VS Build Legacy App publishproj
inputs:
solution: '**\*.publishproj'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: AzureRmWebAppDeployment@4
displayName: Azure WebApp Publish
inputs:
ConnectionType: 'AzureRM'
azureSubscription: 'Azure WebApp'
appType: 'webApp'
WebAppName: 'XXXXXXXX'
packageForLinux: '$(build.artifactStagingDirectory)/**/*.zip'