Pie*_*rre 3 azure-devops azure-pipelines
将管道从经典转换为 YAML(所以我知道它有效)。
我构建并发布工件任务如下所示:
- task: PublishPipelineArtifact@1
displayName: 'Publish Pipeline Artifact'
inputs:
targetPath: '$(Build.ArtifactStagingDirectory)/MyArtifact'
artifact: MyArtifact
Run Code Online (Sandbox Code Playgroud)
构建时的结果如下所示:
然后我想将其部署到 web 应用程序 YAML:
- stage: Dev
jobs:
- job: DeployApp
displayName: Deploy Web App
pool:
name: myPrivate
demands: msbuild
steps:
- task: DownloadPipelineArtifact@2
inputs:
artifact: MyArtifact
- task: AzureRmWebAppDeployment@4
displayName: 'Deploy App'
inputs:
WebAppKind: 'Web App On Windows'
azureSubscription: 'edited out...'
WebAppName: webAppName
package: '$(System.ArtifactsDirectory)'
enableXmlTransform: true
Run Code Online (Sandbox Code Playgroud)
这会在 Azure DevOps 中产生以下输出:
块上有差异,但由于尺寸非常匹配,我很高兴。
然后我在部署中遇到错误,因此我开始查看 Kudo,并可以看到在 SitePackages 中我的所有包都是 1 kb(或空...)。我预计 61.2 MB。
我采取了我的工作经典部署,在那里我有这一行:
packageForLinux:'$(System.DefaultWorkingDirectory)/_MyArtifact/MyArtifact/MyApplication.zip'
Run Code Online (Sandbox Code Playgroud)
但那条路甚至没有找到。packageForLinux 感觉不对,但据我了解,这并不重要。
那么有人可以告诉我如何使用 YAML 部署 Web 应用程序(在 Windows 上)的正确方向吗?
使用的文件夹是$(Pipeline.Workspace),而不是$(System.DefaultWorkingDirectory),每个任务类型的默认文件夹都不同,因此您不能总是相信它们会解压到默认工作目录。
| 归档时间: |
|
| 查看次数: |
5391 次 |
| 最近记录: |