【问题标题】:Debugging yaml pipeline script调试yaml管道脚本
【发布时间】:2021-03-08 06:39:48
【问题描述】:

我正在尝试在 Azure 中调试管道脚本以查看变量是什么,但我不确定语法。

我查看了文档

到目前为止我所尝试的

parameters:
  deploymentName: ""
  dependsOn: ""
  env: ""
  dockerfilePath: ""
  buildContext: ""
  repository: ""
  envGroup: ""
  dockerRegistryServiceConnection: ""
  tag: ""
  token: ""
  runTests: ""

jobs:
  - deployment: ${{ parameters.deploymentName }}
    dependsOn: ${{ parameters.dependsOn }}
    pool: "Private Docker"
    environment: "${{ parameters.envGroup }}"
    strategy:
      runOnce:
        deploy:
          steps:
            - checkout: self
            - task: Docker@2
              displayName: "ACR Login"
              inputs:
                command: login
                containerRegistry: "${{ parameters.dockerRegistryServiceConnection }}"
            ##[debug]Debug!!!!!1 $runTests
            ##[debug]Debug!!!!!2 $parameters.runTests
            ##[debug]Debug!!!!!3 ${{parameters.runTests}}
            - script: echo runTests in dockerbuild.yml ${{parameters.runTests}}
            - script: echo runTests in dockerbuild.yml $parameters.runTests
            - script: echo runTests in dockerbuild.yml $runTests
            - task: Docker@2
              displayName: Build
              inputs:
                command: build
                repository: "${{ parameters.repository }}"
                buildContext: "${{ parameters.buildContext }}"
                dockerfile: "${{ parameters.dockerfilePath }}"
                arguments: "--build-arg TOKEN=${{ parameters.token }} --build-arg RUNTESTS=${{ parameters.runTests }}"
                tags: |
                  $(Build.BuildId)
                  latest

问题

调试和回显在 azure 管道构建中不打印任何内容:

##[debug]Debug!!!!!1 $runTests
            ##[debug]Debug!!!!!2 $parameters.runTests
            ##[debug]Debug!!!!!3 ${{parameters.runTests}}
            - script: echo runTests in dockerbuild.yml ${{parameters.runTests}}
            - script: echo runTests in dockerbuild.yml $parameters.runTests
            - script: echo runTests in dockerbuild.yml $runTests

问题

这是在运行 yaml 文件时打印到 azure bash 的正确语法吗?

【问题讨论】:

    标签: azure docker dockerfile azure-pipelines


    【解决方案1】:

    试试这个:

    ${{ parameters.runTests}}
    

    【讨论】:

      【解决方案2】:

      调试yaml管道脚本

      您似乎没有正确定义参数。我们需要提供namedisplayNametypedefaultvalues,如下所示(并非每个属性都是必需的):

      parameters:
        - name: deploymentName
          type: string
          default: Product
      

      然后我们可以使用${{ parameters.deploymentName }} 来获取值。

      请查看此文档Runtime parameters了解更多详细信息。

      我的测试 YAML 文件:

      parameters:
        - name: deploymentName
          type: string
          default: Product
        - name: dependsOn
          type: string
          default: Test
        - name: envGroup
          type: string
          default: test
        - name: runTests
          type: number
          default: 123
      
      
      
      stages:
      - stage: Build
        jobs:
        - job: Build
          displayName: Build
          pool:
           name: MyPrivateAgent
          steps:
          - script: echo This is for Build
      
      
      - stage: Dev
        jobs:
          - job: Test
            displayName: Test
            pool:
              name: MyPrivateAgent
            steps:
            - script: echo This is for test
          
      
          - deployment: ${{ parameters.deploymentName }}
            dependsOn: ${{ parameters.dependsOn }}
            pool:
              name: MyPrivateAgent
            environment: "${{ parameters.envGroup }}"
            strategy:
              runOnce:
                deploy:
                  steps:
                    - checkout: self
                    - script: echo runTests in dockerbuild.yml ${{parameters.runTests}}
      

      测试结果:

      【讨论】:

        猜你喜欢
        • 2021-01-20
        • 1970-01-01
        • 1970-01-01
        • 2021-04-02
        • 1970-01-01
        • 1970-01-01
        • 2020-01-18
        • 1970-01-01
        • 2016-07-31
        相关资源
        最近更新 更多