angular - 使用 Azure DevOps 将我的 Angular Universal (SSR) 上传到 Azure 的问题
问题描述
我使用 Angular Universal 为服务器端渲染创建了一个简单的 Angular 项目,并尝试通过 Azure DevOpds 管道将其发布为 Azure 中的 Azure App Service。
这是我创建的管道的 YAML:
pool:
name: Azure Pipelines
steps:
- task: NodeTool@0
displayName: 'Use Node 12.x'
inputs:
versionSpec: 12.x
- task: Npm@1
displayName: 'Angular CLI'
inputs:
command: custom
workingDir: MySSRSite
verbose: false
customCommand: 'install @angular/cli@10.2.0'
- task: Npm@1
displayName: 'npm install'
inputs:
workingDir: MySSRSite
verbose: false
- task: Npm@1
displayName: Build
inputs:
command: custom
workingDir: MySSRSite
verbose: false
customCommand: 'run build:ssr'
- task: CopyFiles@2
displayName: 'Copy Files to: MySSRSite/dist/MySSRSite'
inputs:
SourceFolder: MySSRSite/dist/MySSRSite/server
TargetFolder: MySSRSite/dist/MySSRSite
- task: DeleteFiles@1
displayName: 'Delete files from MySSRSite/dist/MySSRSite/server'
inputs:
SourceFolder: MySSRSite/dist/MySSRSite/server
Contents: '**'
RemoveSourceFolder: true
- task: ArchiveFiles@2
displayName: 'Archive MySSRSite/dist/MySSRSite/browser'
inputs:
rootFolderOrFile: MySSRSite/dist/MySSRSite/browser
- task: ArchiveFiles@2
displayName: 'Archive MySSRSite/dist/MySSRSite/main.js'
inputs:
rootFolderOrFile: MySSRSite/dist/MySSRSite/main.js
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
我已将此管道与 Azure DevOps 中的发布连接,当管道成功运行时,它会自动运行发布
所以这些是设置。
一切正常,但是当我要检查上传的内容时,这就是我得到的:
这就是上传到 Azure App Service 的内容:
问题出在管道中还是在发布中?
编辑
我试图将管道更改为:
pool:
name: Azure Pipelines
steps:
- task: NodeTool@0
displayName: 'Use Node 12.x'
inputs:
versionSpec: 12.x
- task: Npm@1
displayName: 'Angular CLI'
inputs:
command: custom
workingDir: MySSRSite
verbose: false
customCommand: 'install @angular/cli@10.2.0'
- task: Npm@1
displayName: 'npm install'
inputs:
workingDir: MySSRSite
verbose: false
- task: Npm@1
displayName: Build
inputs:
command: custom
workingDir: MySSRSite
verbose: false
customCommand: 'run build:ssr'
- task: CopyFiles@2
displayName: 'Copy Files to: MySSRSite/dist/MySSRSite'
inputs:
SourceFolder: MySSRSite/dist/MySSRSite/server
TargetFolder: MySSRSite/dist/MySSRSite
- task: DeleteFiles@1
displayName: 'Delete files from MySSRSite/dist/MySSRSite/server'
inputs:
SourceFolder: MySSRSite/dist/MySSRSite/server
Contents: '**'
RemoveSourceFolder: true
- task: ArchiveFiles@2
displayName: 'Archive MySSRSite/dist/MySSRSite/browser'
inputs:
rootFolderOrFile: MySSRSite/dist/MySSRSite/browser
archiveFile: '_MySSRSite-CI/drop/deploy.zip'
- task: ArchiveFiles@2
displayName: 'Archive MySSRSite/dist/MySSRSite'
inputs:
rootFolderOrFile: MySSRSite/dist/MySSRSite/main.js
archiveFile: '_MySSRSite-CI/drop/deploy1.zip'
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
inputs:
PathtoPublish: '_MySSRSite-CI/drop'
但还是一无所获。通过此更改,它只需将 2 个 zip 文件 deploy.zip 和 deploy1.zip 上传到 Azure 应用服务。
所以有2个问题:
我应该上传什么到 Azure 应用服务?
管道格式是否正确?
解决方案
推荐阅读
- java - Java 拉绳在代码的早期部分工作正常以计算点数,但在显示游戏结束时不起作用
- node.js - 提交带有多个文本输入和图像的 React 表单
- python - Django db 2个外键之一不返回对象
- java - 在线程之间同步对象的最佳实践
- swift - 在 SwiftUI 中按值对 Json 数据进行分组
- jmeter - 使用 ruby-jmeter 时有没有办法设置 jmeter 属性
- django - 即使正在执行 Modelform 也不会保存数据
- python - opencv dnn readnet forward 返回 nan 值
- excel - 搜索两个工作表之间的匹配项并从特定列复制特定值
- android - 如何解决 android api 30+ 中的“缺少 PendingIntent 可变性标志”lint 警告?