首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重用Azure管道中的导出变量

如何重用Azure管道中的导出变量
EN

Stack Overflow用户
提问于 2020-12-16 12:08:05
回答 1查看 813关注 0票数 0

我已经创建了一个蔚蓝-管道. all,在这里我有不同的脚本部分,根据条件运行,每个脚本部分都有变量定义,我想创建一个公共部分,它可以托管所有脚本的变量。下面是yml文件,寻找将删除重复项的解决方案。

代码语言:javascript
复制
variables:
- group: spCreds
- group: toolCreds

steps:
- checkout: git://stack-deployment
- checkout: self
- script: |
    set -x
    export USE_SERVICE_PRINCIPAL=true
    export APP_NAME=testing
    export ARM_CLIENT_SECRET=$(ARM_CLIENT_SECRET)
    export ARM_TENANT_ID=${ARM_TENANT_ID}
    export ARM_SUBSCRIPTION_ID=${ARM_SUBSCRIPTION_ID}
    export ARM_CLIENT_ID=${ARM_CLIENT_ID}
    export ARM_RESOURCE_GROUP_NAME=${ARM_RESOURCE_GROUP_NAME}
    export ARM_STORAGE_ACCOUNT_NAME=${ARM_STORAGE_ACCOUNT_NAME}
    export ARM_CONTAINER_NAME=${ARM_CONTAINER_NAME}
    
    bash -x bt-ciaas-stack-deployment/scripts/deploy.sh
  condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/develop'))
  displayName: 'deploy jenkins from develop branch'

- script: |
    export APP_NAME=testing
    export ARM_CLIENT_SECRET=$(ARM_CLIENT_SECRET)
    export ARM_TENANT_ID=${ARM_TENANT_ID}
    export ARM_SUBSCRIPTION_ID=${ARM_SUBSCRIPTION_ID}
    export ARM_CLIENT_ID=${ARM_CLIENT_ID}
    export ARM_RESOURCE_GROUP_NAME=${ARM_RESOURCE_GROUP_NAME}
    export ARM_STORAGE_ACCOUNT_NAME=${ARM_STORAGE_ACCOUNT_NAME}
    export ARM_CONTAINER_NAME=${ARM_CONTAINER_NAME}    
   
   bash -x stack-deployment/scripts/deploy.sh
  condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/pull/'))
  displayName: 'Deploy from pull request'

- script: |
    export APP_NAME=testing
    export ARM_CLIENT_SECRET=$(ARM_CLIENT_SECRET)
    export ARM_TENANT_ID=${ARM_TENANT_ID}
    export ARM_SUBSCRIPTION_ID=${ARM_SUBSCRIPTION_ID}
    export ARM_CLIENT_ID=${ARM_CLIENT_ID}
    export ARM_RESOURCE_GROUP_NAME=${ARM_RESOURCE_GROUP_NAME}
    export ARM_STORAGE_ACCOUNT_NAME=${ARM_STORAGE_ACCOUNT_NAME}
    export ARM_CONTAINER_NAME=${ARM_CONTAINER_NAME}    
   
   bash -x stack-deployment/scripts/delete.sh
  condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/pull/'))
  displayName: 'Delete'

我希望删除所有重复的导出变量,并将它们保存在一个位置。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-17 07:45:19

如何重用Azure管道中的导出变量

我们可以尝试在一个具有组合条件的任务中导出重复变量:

代码语言:javascript
复制
or(eq(variables['Build.SourceBranch'], 'refs/heads/develop'), startsWith(variables['Build.SourceBranch'], 'refs/pull/'))

测试脚本如下:

代码语言:javascript
复制
steps:
- checkout: git://stack-deployment
- checkout: self
- script: |
    set -x
    export USE_SERVICE_PRINCIPAL=true
    
    bash -x bt-ciaas-stack-deployment/scripts/deploy.sh
  condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/develop'))
  displayName: 'deploy jenkins from develop branch'


- script: |
    export APP_NAME=testing
    export ARM_CLIENT_SECRET=$(ARM_CLIENT_SECRET)
    export ARM_TENANT_ID=${ARM_TENANT_ID}
    export ARM_SUBSCRIPTION_ID=${ARM_SUBSCRIPTION_ID}
    export ARM_CLIENT_ID=${ARM_CLIENT_ID}
    export ARM_RESOURCE_GROUP_NAME=${ARM_RESOURCE_GROUP_NAME}
    export ARM_STORAGE_ACCOUNT_NAME=${ARM_STORAGE_ACCOUNT_NAME}
    export ARM_CONTAINER_NAME=${ARM_CONTAINER_NAME}    
   
   bash -x stack-deployment/scripts/common.sh
  or(eq(variables['Build.SourceBranch'], 'refs/heads/develop'), startsWith(variables['Build.SourceBranch'], 'refs/pull/'))
  displayName: 'common'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65322946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档