azure - 尝试从 azure devops YAML 将 ionic5 angular8 pwa 部署到 aws ec2
问题描述
我是 azure devops 的新手。我正在尝试通过 azure 管道在亚马逊 ec2 上部署我的 ionic5 角度应用程序。每当我尝试运行管道时,它都会给出“解析管道 YAML 时遇到错误:/build-ci。 yml (Line: 2, Col: 3): A mapping was not expected”这个错误。这是 yaml 文件代码。我被困在这里了。请帮忙。
trigger:
- task: CodeDeployDeployApplication@1
inputs:
awsCredentials: 'AWS Service Con'
regionName: 'us-east-1'
applicationName: 'Dev-erp-Frontend'
deploymentGroupName: 'Dev-erp-Frontend'
deploymentRevisionSource: 'workspace'
revisionBundle: 'Dev-erp-Frontend-Rev'
bucketName: 'Dev-erp-Frontend'
fileExistsBehavior: 'OVERWRITE'
batch: "true"
branches:
include:
- master
- dev
paths:
include:
- ./*
pr:
branches:
include:
- master
- dev
paths:
include:
- ./*
jobs:
- job: Build_Job
displayName: Build
pool:
vmImage: 'ubuntu-18.04'
demands:
- npm
steps:
- checkout: self
clean: false
# - powershell: 'npm cache clean --force'
# displayName: 'PowerShell Script'
# env:
# APPDATA: npm-cache
- task: Npm@1
displayName: 'Npm Install'
inputs:
workingDir: "./"
command: "ci"
- task: Npm@1
displayName: 'Lint Client App'
inputs:
workingDir: "./"
command: "custom"
customCommand: "run lint"
continueOnError: true
- task: Npm@1
displayName: 'Copy Assets'
inputs:
workingDir: "./"
command: "custom"
customCommand: "run copy-files"
continueOnError: false
- task: Npm@1
displayName: 'Build Client App'
inputs:
workingDir: "./"
command: "custom"
customCommand: "run build:prod"
# Archive files
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(Build.BinariesDirectory)'
includeRootFolder: true
archiveType: 'zip' # Options: zip, 7z, tar, wim
archiveFile: '$(Build.ArtifactStagingDirectory)/www.zip'
replaceExistingArchive: true
- task: CopyFiles@2
inputs:
Contents: 'www/**'
TargetFolder: '$(build.artifactstagingdirectory)'
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
ArtifactName: 'titas-ecom-erp'
解决方案
我们不能在触发器级别设置任务 CodeDeployDeployApplication@1 ,我们应该在步骤级别添加任务。您可以按如下方式更新您的 YAML 定义。
trigger:
branches:
include:
- master
- dev
paths:
include:
- ./*
pr:
branches:
include:
- master
- dev
paths:
include:
- ./*
jobs:
- job: Build_Job
displayName: Build
pool:
vmImage: 'ubuntu-18.04'
demands:
- npm
steps:
- checkout: self
clean: false
# - powershell: 'npm cache clean --force'
# displayName: 'PowerShell Script'
# env:
# APPDATA: npm-cache
- task: CodeDeployDeployApplication@1
inputs:
awsCredentials: 'AWS Service Con'
regionName: 'us-east-1'
applicationName: 'Dev-erp-Frontend'
deploymentGroupName: 'Dev-erp-Frontend'
deploymentRevisionSource: 'workspace'
revisionBundle: 'Dev-erp-Frontend-Rev'
bucketName: 'Dev-erp-Frontend'
fileExistsBehavior: 'OVERWRITE'
batch: "true"
- task: Npm@1
displayName: 'Npm Install'
inputs:
workingDir: "./"
command: "ci"
- task: Npm@1
displayName: 'Lint Client App'
inputs:
workingDir: "./"
command: "custom"
customCommand: "run lint"
continueOnError: true
- task: Npm@1
displayName: 'Copy Assets'
inputs:
workingDir: "./"
command: "custom"
customCommand: "run copy-files"
continueOnError: false
- task: Npm@1
displayName: 'Build Client App'
inputs:
workingDir: "./"
command: "custom"
customCommand: "run build:prod"
# Archive files
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(Build.BinariesDirectory)'
includeRootFolder: true
archiveType: 'zip' # Options: zip, 7z, tar, wim
archiveFile: '$(Build.ArtifactStagingDirectory)/www.zip'
replaceExistingArchive: true
- task: CopyFiles@2
inputs:
Contents: 'www/**'
TargetFolder: '$(build.artifactstagingdirectory)'
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
ArtifactName: 'titas-ecom-erp'
推荐阅读
- sql - 在 Postgres (Redshift) 中使用两个选择列运行 MAX 聚合查询时出现问题
- r - 新的 Hugo 帖子未显示 - RMarkdown/Blogdown
- shopify - 如何根据单选按钮选择更改下拉选择?
- java - C# 或 Java 中的 Neo4J CYPHER:从“调用 db.schema.nodeTypeProperties()”返回 JSON 输出?
- javascript - 如何将对象设置为 Firebase Firestore - Javascript
- python - 日志空间中的 Python 直方图,其中一个 bin 以特定值为中心
- httpclient - HTTP-Client:'未在上下文中设置身份验证缓存'-它是什么?
- puppet - 如何在代理机器上检测 Puppet 代理故障“无法从远程服务器检索目录”
- symfony - 如何验证 EntityType 字段?
- c - Concorde 中的 KDTREE 可执行文件