任务 AzureStaticWebApp@0 'could not detect this directory' 但已显示
Task AzureStaticWebApp@0 'could not detect this directory' but its presented
我正在使用 AzureDevOps 构建管道,但我遇到了一个奇怪的问题。
这是我的管道:
- stage: 'Test'
displayName: 'Deploy to the test environment'
dependsOn: Build
jobs:
- job: 'Deploy'
steps:
- download: current
artifact: lorehub-front
- bash: cd $(Pipeline.Workspace); echo $(ls)
- bash: cd $(Pipeline.Workspace)/lorehub-front; echo $(ls)
- task: AzureStaticWebApp@0
displayName: 'Publish to Azure Static WebApp'
inputs:
app_location: $(Pipeline.Workspace)/lorehub-front
azure_static_web_apps_api_token: xxxx
第一个bash表示文件夹'lorehub-front'出现
第二个 bash 表明内部文件夹是正确的文件(index.html 等)
Script contents:
cd /home/vsts/work/1/lorehub-front; echo $(ls)
android-chrome-192x192.png android-chrome-512x512.png
apple-touch-icon.png css env-config.js favicon-16x16.png
favicon-32x32.png favicon.ico fonts index.html js site.webmanifest
但是我收到这个错误:
App Directory Location: '/home/vsts/work/1/lorehub-front' is invalid. Could not
detect this directory. Please verify your deployment configuration
file reflects your repository structure.
App Directory Location: '/home/vsts/work/1/lorehub-front' is invalid.
解决该问题的方法是将路径更改为/lorehub-front
。
- task: AzureStaticWebApp@0
displayName: 'Publish to Azure Static WebApp'
inputs:
app_location: /lorehub-front
azure_static_web_apps_api_token: xxxx
更多详细信息,您可以参考此文档:Tutorial: Publish Azure Static Web Apps with Azure DevOps
Enter / if your application source code is at the root of the repository, or /app if your application code is in a directory called app.
万一其他人从 Google 或其他什么地方遇到这个 post,我遇到了与上面的 Andrei 完全相同的问题,但对于我来说,我无法在这里获得公认的解决方案上班。
无论我在 app_location:
中输入什么,任务都拒绝查看任何文件。
经过进一步调查,我发现 this github issue 声称以下内容(强调我的):
The AzureStaticWebApp task’s app location is relative to the current directory
查看文档,我们可以看到此任务使用默认目录 $(System.DefaultWorkingDirectory)
,无论出于何种原因,该目录与 与 $(Pipeline.Workspace)
不同。
所以,如果你发现自己卡在同一个位置,无法让这个任务识别你的工件,解决方案是在你的任务中添加cwd: $(Pipeline.Workspace)
,例如
strategy:
runOnce:
deploy:
steps:
- download: current
artifact: WebApp
- task: AzureStaticWebApp@0
inputs:
app_location: /
skip_app_build: true
azure_static_web_apps_api_token: $(deployment_token)
cwd: $(Pipeline.Workspace)/WebApp
我正在使用 AzureDevOps 构建管道,但我遇到了一个奇怪的问题。
这是我的管道:
- stage: 'Test'
displayName: 'Deploy to the test environment'
dependsOn: Build
jobs:
- job: 'Deploy'
steps:
- download: current
artifact: lorehub-front
- bash: cd $(Pipeline.Workspace); echo $(ls)
- bash: cd $(Pipeline.Workspace)/lorehub-front; echo $(ls)
- task: AzureStaticWebApp@0
displayName: 'Publish to Azure Static WebApp'
inputs:
app_location: $(Pipeline.Workspace)/lorehub-front
azure_static_web_apps_api_token: xxxx
第一个bash表示文件夹'lorehub-front'出现
第二个 bash 表明内部文件夹是正确的文件(index.html 等)
Script contents: cd /home/vsts/work/1/lorehub-front; echo $(ls)
android-chrome-192x192.png android-chrome-512x512.png apple-touch-icon.png css env-config.js favicon-16x16.png favicon-32x32.png favicon.ico fonts index.html js site.webmanifest
但是我收到这个错误:
App Directory Location: '/home/vsts/work/1/lorehub-front' is invalid. Could not detect this directory. Please verify your deployment configuration file reflects your repository structure.
App Directory Location: '/home/vsts/work/1/lorehub-front' is invalid.
解决该问题的方法是将路径更改为/lorehub-front
。
- task: AzureStaticWebApp@0
displayName: 'Publish to Azure Static WebApp'
inputs:
app_location: /lorehub-front
azure_static_web_apps_api_token: xxxx
更多详细信息,您可以参考此文档:Tutorial: Publish Azure Static Web Apps with Azure DevOps
Enter / if your application source code is at the root of the repository, or /app if your application code is in a directory called app.
万一其他人从 Google 或其他什么地方遇到这个 post,我遇到了与上面的 Andrei 完全相同的问题,但对于我来说,我无法在这里获得公认的解决方案上班。
无论我在 app_location:
中输入什么,任务都拒绝查看任何文件。
经过进一步调查,我发现 this github issue 声称以下内容(强调我的):
The AzureStaticWebApp task’s app location is relative to the current directory
查看文档,我们可以看到此任务使用默认目录 $(System.DefaultWorkingDirectory)
,无论出于何种原因,该目录与 与 $(Pipeline.Workspace)
不同。
所以,如果你发现自己卡在同一个位置,无法让这个任务识别你的工件,解决方案是在你的任务中添加cwd: $(Pipeline.Workspace)
,例如
strategy:
runOnce:
deploy:
steps:
- download: current
artifact: WebApp
- task: AzureStaticWebApp@0
inputs:
app_location: /
skip_app_build: true
azure_static_web_apps_api_token: $(deployment_token)
cwd: $(Pipeline.Workspace)/WebApp