首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在azure管道中替换yml文件中的变量

在azure管道中替换yml文件中的变量
EN

Stack Overflow用户
提问于 2021-10-13 10:42:23
回答 1查看 42关注 0票数 0

我在azure流水线上声明变量,并希望将它们注入到deployment.yml文件中,使用replacetoken@4任务来实现这一点,但变量不会使用vaules更新。

管道代码: azure-pipelines.yaml

代码语言:javascript
复制
  stages:
  - stage: dockerbuild
  variables:
  - name: replicas
    value: 2
  jobs:
  - job: builddockerimageandpush
    pool: 
    name: Azure Pipelines
    steps:
        
      - task: Bash@3
        inputs:
        targetType: 'inline'
        script: |
          COMMAND="$(echo '$(build.sourceversion)' | cut -c-7)"
          echo "##vso[task.setvariable variable=dockertag]$COMMAND"
      displayName: GetCommitID
      
    
      - task: replacetokens@4
        inputs:
          rootDirectory: '$(System.DefaultWorkingDirectory)'
          targetFiles: 'deployment.yaml'
          encoding: 'auto'
          tokenPattern: 'default'
          writeBOM: true
          actionOnMissing: 'warn'
          keepToken: false
          actionOnNoFiles: 'continue'
          enableTransforms: false
          useLegacyPattern: false
          enableTelemetry: true

下面是deployment.yaml配置

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  name: messagesender
  labels:
  app: messagesender
spec:
  selector:
    matchLabels:
      app: messagesender
replicas: {replicas}
template:
  metadata:
    labels:
      app: messagesender    
  spec:
    containers:
    - name: devcontainer
      image: telefonicamdnidevcontainer.azurecr.io/messagesender:{dockertag}
      imagePullPolicy: Always

因此,在上面的配置变量{replicas}和{dockertag}需要替换,但这并没有发生。有没有人能帮我看看这里少了什么。提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-13 14:20:15

默认的令牌模式是#{some_variable_here}#。在你的deployment.yml中,它就是{some_variable}

将其更改为#{replicas}##{dockertag}#

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  name: messagesender
  labels:
  app: messagesender
spec:
  selector:
    matchLabels:
      app: messagesender
replicas: #{replicas}#
template:
  metadata:
    labels:
      app: messagesender    
  spec:
    containers:
    - name: devcontainer
      image: telefonicamdnidevcontainer.azurecr.io/messagesender:#{dockertag}#
      imagePullPolicy: Always
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69554049

复制
相关文章

相似问题

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