gpt4 book ai didi

azure - 项目文件在部署作业 azure dev ops 管道中不可用

转载 作者:行者123 更新时间:2023-12-03 04:48:52 24 4
gpt4 key购买 nike

相关存储库中的文件在运行 Azure Dev Ops 管道的生成阶段时可用,但在运行部署阶段时不可用。关于为什么会出现这种情况有什么想法吗?

这是 yaml 文件的简化版本:

# Deploy to Azure Kubernetes Service
# Build and push image to Azure Container Registry; Deploy to Azure Kubernetes Service
# https://learn.microsoft.com/azure/devops/pipelines/languages/docker

trigger:
- master

resources:
- repo: self

variables:
# Agent VM image name
vmImageName: 'ubuntu-latest'

# Name of the new namespace being created to deploy the PR changes.
k8sNamespaceForPR: 'review-app-$(System.PullRequest.PullRequestId)'

stages:
- stage: Build
displayName: Build stage
jobs:
- job: Build
displayName: Build
pool:
vmImage: $(vmImageName)
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: |
pwd
ls -la


- stage: Deploy
displayName: Deploy stage
dependsOn: Build

jobs:
- deployment: Deploy
condition: and(succeeded(), not(startsWith(variables['Build.SourceBranch'], 'refs/pull/')))
displayName: Deploy
pool:
vmImage: $(vmImageName)
environment: 'test.development'
strategy:
runOnce:
deploy:
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: |
pwd
ls -la

附加说明:如果首先运行部署阶段(删除构建阶段),则工作目录也是空的。

最佳答案

部署阶段中的作业是部署作业而不是标准作业,部署作业不会自动 checkout 管道所基于的存储库,但它们确实可以访问任何已发布的管道工件。

您可以在构建阶段发布管道工件,也可以将任务添加到部署阶段以显式 checkout 存储库。

要发布管道工件,请添加 Publish Pipeline Artifact作为构建阶段的任务。在部署阶段,您可以使用路径 $(Pipeline.Workspace)/<artifactName>/<rest-of-path> 引用该工件中的文件。

要查看整个存储库,请将其添加到您的部署阶段:

steps:
- checkout: self
path: 'myrepo/'

然后使用 $(System.DefaultWorkingDirectory)\<rest-of-path> 引用存储库中的文件

关于azure - 项目文件在部署作业 azure dev ops 管道中不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63171724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com