无法访问AzureDevops中任务中的变量

时间:2020-04-18 22:49:07

标签: azure-devops

我创建了以下任务,以查找当前标签,并在构建具有新标签的Docker映像时继续进行下一个任务。

- task: Bash@3
        displayName: 'Fetch latest tag from ECR and Create Next Tag.'
        inputs:
          targetType: 'inline'
          script: |
            ecrURI=$(ecrURI)
            repoName="${ecrURI##*/}"
            latestECRTag=$(aws ecr describe-images  --output json  --repository-name ${repoName} --region $(awsDefaultRegion) --query 'sort_by(imageDetails,& imagePushedAt)[-1].imageTags[0]' | jq . --raw-output)
            if [[ -z ${latestECRTag} ]];
            then
                latestECRTag='0.0.0'
            fi
            major=$(echo ${latestECRTag} |cut -d'.' -f1)
            minor=$(echo ${latestECRTag} |cut -d'.' -f2)
            patch=$(echo ${latestECRTag} |cut -d'.' -f3)
            latestECRTag="$(expr $major + 1).${minor}.${patch}"
            echo $latestECRTag
            echo "##vso[task.setvariable variable=NEXT_ECR_TAG;isOutput=true]$latestECRtag"
- bash: |
          echo "Started Building Docker Image with tag $latestECRTag"
          docker build -t test:latest -f Dockerfile .
          docker tag test:latest $(ecrURI):$(NEXT_ECR_TAG)

        displayName: 'Build Docker Image with Tag.'
        workingDirectory: $(System.DefaultWorkingDirectory)/configCreate/

获取和创建新标签的步骤/任务工作正常,但是一旦我移至下一个基于NEXT_ECR_TAG构建docker标签的任务,它就会向我显示空值。其他所有内容均已正确填充。

有人可以帮助我找出为什么我无法在下一个任务中获取NEXT_ECR_TAG值的原因吗?可能是愚蠢的事情,但不知道是什么?

1 个答案:

答案 0 :(得分:0)

du!我的时刻。我的变量中有错字。修正拼写错误可以解决所有问题。