将 git 中的标签名称设置为 azure devops 中的 docker 镜像标签

问题描述 投票:0回答:1

我的主要目标是使用我在 azure devops 中输入的标签定义我的 docker 标签。

这里应该触发并且应该是“DOCKER:0.0.2”

管道主要:

trigger:
  tags:
    include:
      - '*'

pr: none

jobs:
  - job: Build
    displayName: 'Build Job'
    pool:
      vmImage: 'ubuntu-20.04'
    steps:
      - task: PowerShell@2
        displayName: Prepare variables
        inputs:
          targetType: inline
          script: |
            $newSourceBranch = "$(Build.SourceBranch)" -replace 'refs/tags/', '' 
            $Command = "##vso[build.addbuildtag]"+$newSourceBranch
            write-host "Create a Build TAG called $newSourceBranch"
            ##vso[task.setvariable variable=myVar]$newSourceBranch
            write-host "Set variable: $(myVar)"
      - template: azure-pipelines-template.yml
        parameters:
          repositoryName: 'BeeHive-Prod'
          dockerTag: "$(myVar)"

模板:

parameters:
  - name: repositoryName
    type: string
  - name: dockerTag
    type: string
    default: $(Build.BuildId)

steps:
  - task: UseDotNet@2
    displayName: Install .NET 8 SDK
    inputs:
      packageType: 'sdk'
      version: '8.0.100'

  - task: DotNetCoreCLI@2
    displayName: 'Restore Solution'
    inputs:
      command: 'restore'
      projects: '**/*.csproj'

  - task: DotNetCoreCLI@2
    displayName: 'Build Solution'
    inputs:
      command: 'build'
      projects: '**/*.csproj'

  - task: DotNetCoreCLI@2
    displayName: Dotnet Test
    inputs:
      command: test
      projects: |
        **/*Test.csproj
      arguments: '--configuration $(BuildConfiguration) /p:CollectCoverage=true /p:CoverletOutputFormat="cobertura%2copencover"'
      publishTestResults: true

  - task: Docker@2
    inputs:
      containerRegistry: 'acrtitans'
      repository: ${{ parameters.repositoryName }}
      command: 'buildAndPush'
      Dockerfile: './BeeHive/Dockerfile'
      buildContext: './'
      tag: ${{ parameters.dockerTag }}

错误:

docker azure-devops
1个回答
0
投票

代替:

##vso[task.setvariable variable=myVar]$newSourceBranch

尝试:

Write-Host "##vso[task.setvariable variable=myVar]$newSourceBranch"
© www.soinside.com 2019 - 2024. All rights reserved.