如何将Python文件参数读入Azure DevOps

7dl7o3gd  于 2023-10-22  发布在  Python
关注(0)|答案(1)|浏览(112)

我正在Azure DevOps管道中构建Docker镜像。我用图像的版本标记图像。版本存储在prodInfo.py中,结构如下:

title = "Product A"
description = "Description"
version = "0.1.0.0"

我想知道如何将version信息加载到Azure DevOps中,以便将其提供给.yaml管道中的tag字段。

z31licg0

z31licg01#

在同一作业中,在Docker构建任务之前,您可以添加一个Bash task来读取**prodInfo.py**文件并从行中提取版本号。然后使用日志命令“SetVariable”将提取的版本号设置为管道变量,用于Docker构建任务。
下面是一个示例作为参考。

stages:
- stage: A
  displayName: 'Stage A'
  jobs:
  - job: A1
    displayName: 'Job A1'
    steps:
    - task: Bash@3
      displayName: 'Get tag version'
      inputs:
        targetType: inline
        script: |
          lineStr=$(sed -n -e '/^version = "/p' relative/path/to/prodInfo.py)
          echo $lineStr
          tagVer=$(echo $lineStr | cut -d'"' -f 2)
          echo $tagVer
          echo "##vso[task.setvariable variable=tagVersion;]$tagVer"
    
    - task: Bash@3
      displayName: 'Print tagVersion'
      inputs:
        targetType: inline
        script: echo "tagVersion = $(tagVersion)"

# On the subsequent Docker build task, 
# you can pass the pipeline varibale $(tagVersion) to the Tags field.

结果:

相关问题