我在将 Angular 应用程序部署到 Azure 存储静态网站时遇到问题。去年我创建了一个 CI/CD 管道,我使用了几个月。前几个月没有部署,今天的部署遇到了一些问题。
第一个问题是关于身份验证的,但我能够解决它。
第二个是我正在努力的。我运行发布管道,文件被复制,但不在 $web 容器根目录中,但它创建了一个“prod”文件夹,并在那里复制文件。因此,我无法打开该网站,因为它在 $web 根文件夹中搜索“index.html”文件,但显然没有找到它,因为它位于 $web/prod 文件夹中。我可以打开文件到 /prod URL,但是它会尝试从根目录(而不是 prod 文件夹)加载所有资源,显然这些文件不存在。
我查看了一些关于部署到静态 webiste 存储帐户的文章,所有这些文章都显示了与我正在使用的相似的 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)中。有人有想法吗?
谢谢