为什么 Azure Devops 文件复制静态网站不复制到根目录?
Why Azure Devops File Copy static website not copying to root?
我在将 angular 应用程序部署到 Azure 存储静态网站时遇到问题。我去年创建了一个 CI/CD 管道,我用了几个月。前几个月没有部署,今天的部署让我运行遇到了一些问题。
第一个问题是关于身份验证的,但我能够解决它。
第二个是我正在努力解决的问题。我 运行 发布管道,文件被复制,但不在 $web 容器根目录中,但它创建了一个 'prod' 文件夹,并在那里复制文件。因此,我无法打开该网站,因为它在 $web 根文件夹中搜索 'index.html' 文件,但显然没有找到它,因为它在 $web/prod 文件夹中。我可以打开转到 /prod URL 的文件,但随后它会尝试从根目录加载所有资源(因此不是 prod 文件夹),显然文件不存在。
我看了一些关于部署到静态网站存储帐户的文章,它们都显示了与我正在使用的类似的 yaml。
这是我的构建管道,它在构建后发布工件:
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(System.DefaultWorkingDirectory)/dist/prod'
ArtifactName: 'prod'
publishLocation: 'Container'
displayName: 'publish prod'
这里是文件复制任务:
- task: AzureFileCopy@4
displayName: 'AzureBlob File Copy'
inputs:
SourcePath: '$(System.DefaultWorkingDirectory)/_angularApp CI/prod'
azureSubscription: '***'
Destination: AzureBlob
storage: angularApp
ContainerName: '$web'
文件在 'PublishBuildArtifact' 任务之后存在,它们被复制,只是不在正确的文件夹($web root)中。有人有想法吗?
谢谢
通常情况下,不指定Blob Prefix,默认将指定文件夹中的内容复制到容器根目录。
我这边测试过,效果很好:
您可以检查您的发布源目录是否包含名为prod
的文件夹,并将此文件夹复制到容器中。
另外,我这里使用的AzureFileCopy@3版本,大家可以尝试使用V3 azure copy file task
我在将 angular 应用程序部署到 Azure 存储静态网站时遇到问题。我去年创建了一个 CI/CD 管道,我用了几个月。前几个月没有部署,今天的部署让我运行遇到了一些问题。
第一个问题是关于身份验证的,但我能够解决它。
第二个是我正在努力解决的问题。我 运行 发布管道,文件被复制,但不在 $web 容器根目录中,但它创建了一个 'prod' 文件夹,并在那里复制文件。因此,我无法打开该网站,因为它在 $web 根文件夹中搜索 'index.html' 文件,但显然没有找到它,因为它在 $web/prod 文件夹中。我可以打开转到 /prod URL 的文件,但随后它会尝试从根目录加载所有资源(因此不是 prod 文件夹),显然文件不存在。
我看了一些关于部署到静态网站存储帐户的文章,它们都显示了与我正在使用的类似的 yaml。
这是我的构建管道,它在构建后发布工件:
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(System.DefaultWorkingDirectory)/dist/prod'
ArtifactName: 'prod'
publishLocation: 'Container'
displayName: 'publish prod'
这里是文件复制任务:
- task: AzureFileCopy@4
displayName: 'AzureBlob File Copy'
inputs:
SourcePath: '$(System.DefaultWorkingDirectory)/_angularApp CI/prod'
azureSubscription: '***'
Destination: AzureBlob
storage: angularApp
ContainerName: '$web'
文件在 'PublishBuildArtifact' 任务之后存在,它们被复制,只是不在正确的文件夹($web root)中。有人有想法吗?
谢谢
通常情况下,不指定Blob Prefix,默认将指定文件夹中的内容复制到容器根目录。
我这边测试过,效果很好:
您可以检查您的发布源目录是否包含名为prod
的文件夹,并将此文件夹复制到容器中。
另外,我这里使用的AzureFileCopy@3版本,大家可以尝试使用V3 azure copy file task