Azure devops 在YAML中具有多个放置文件夹的Azure管道
我已经为Azure部署创建了YAML管道。有很多模板,但我将只显示主管道来说明我的问题 基本上Azure devops 在YAML中具有多个放置文件夹的Azure管道,azure-devops,azure-pipelines,azure-pipelines-release-pipeline,Azure Devops,Azure Pipelines,Azure Pipelines Release Pipeline,我已经为Azure部署创建了YAML管道。有很多模板,但我将只显示主管道来说明我的问题 基本上 第一阶段是从存储库源代码构建 下一阶段是预部署,然后是部署 生成将输出文件拖放到拖放文件夹中。在预部署期间,这些文件中的一些会经过一些转换(根据目标环境将令牌替换为值) 问题是目前只有一个drop文件夹,因此您可以看到问题即将出现。。。。如果部署到DEV,则使用DEV值转换文件。但是如果我部署到INT,文件已经被转换,我最终部署到具有DEV值的INT文件 如果DEV和INT部署同时运行,情况会变得更糟
trigger:
- master
pool:
name: Default
demands:
- npm
- msbuild
- visualstudio
stages:
- stage: build
displayName: 'Build & Test stage'
jobs:
- template: templates/pipeline-build/master.yml
parameters:
buildConfiguration: 'Release'
dropFolder: '\\srvbuild\DROP'
- stage: deployDev
displayName: 'Deploy Dev Stage'
dependsOn: build
condition: succeeded()
jobs:
- deployment: deploymentjob
displayName: deployment job
environment: dev
variables:
- template: variables/dev.yml
strategy:
runOnce:
preDeploy:
steps:
- template: templates/pipeline-predeploy/master.yml
deploy:
steps:
- template: templates/pipeline-deploy/master.yml
- stage: deployInt
displayName: 'Deploy Int Stage'
dependsOn: build
condition: succeeded()
jobs:
- deployment: deploymentjob
displayName: deployment job
environment: int
variables:
- template: variables/int.yml
strategy:
runOnce:
preDeploy:
steps:
- template: templates/pipeline-predeploy/master.yml
deploy:
steps:
- template: templates/pipeline-deploy/master.yml
作为解决方法,您可以将构建工件发布到
文件共享
,然后在每个转换阶段通过下载文件共享工件
任务下载构建工件
它是分开的
- task: PublishPipelineArtifact@1
displayName: 'Publish Pipeline Artifact'
inputs:
artifact: drop
publishLocation: filepath
fileSharePath: '***'
使用此任务可以:
作为解决方法,您可以将构建工件发布到
文件共享
,然后在每个转换阶段通过下载文件共享工件
任务下载构建工件
它是分开的
- task: PublishPipelineArtifact@1
displayName: 'Publish Pipeline Artifact'
inputs:
artifact: drop
publishLocation: filepath
fileSharePath: '***'
使用此任务可以:
这非常有用。事实上,自从构建输出发布到共享驱动器后,我已经完成了第一部分。我只遗漏了第二部分,即将生成输出复制到特定于环境的文件夹中。它现在正在工作:)这是非常有用的。事实上,自从构建输出发布到共享驱动器后,我已经完成了第一部分。我只遗漏了第二部分,即将生成输出复制到特定于环境的文件夹中。它正在工作:)