skip to Main Content

This is my first time working with azure pipelines, I started creating my azure-pipeline.yml. I am trying to execute the azure DevOps pipeline. However I am getting to errors where the variable are not referenced as declared.

deploy.sh deploy_azr ${{ variables.subPref }} ${{ variables.rgType }} ${{ variables.location }} ${{ variables.config }}

Here is the start of my template


# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml

trigger:
  branches:
    include:
    - main
  paths:
   include:
     - 'bicep/*'
     - 'azure-pipelines.yml'
   exclude:
     - '*'

pool:
  vmImage: ubuntu-latest

variables:
  ${{ if eq(variables['Build.SourceBranchName'], 'test_branch') }}:
    deployTarget: tst
    subscription: testsubscription
    subscriptionId: 26455-trt31-******
    rgType: tstrg
    subPref: *****
    config: tstjson
    location: eastus2
  ${{ if eq(variables['Build.SourceBranchName'], 'main') }}:
    deployTarget: prd
    subscription: prdsub
    subscriptionId: ***********************
    rgType: prdrg
    subPref: ******
    config: prd.json
    location: eastus2

stages:
  - stage: Deploylib
    jobs:
      - deployment: lib
        environment: ${{ variables.subscription }}
        strategy:
          runOnce:
            deploy:
              steps:
                - checkout: self
                - task: AzureCLI@2
                  inputs:
                    azureSubscription: ${{ variables.subscription }}
                    scriptType: 'bash'
                    scriptLocation: 'inlineScript'
                    inlineScript: |
                      set -e
                      set -x
                      sudo apt install -y gridsite-clients
                      cd 'bicep'
                      echo "starting the lib deployment"
                      deploy.sh deploy_azr ${{ variables.subPref }} ${{ variables.rgType }} ${{ variables.location }} ${{ variables.config }}
         


any help would be appreciated.

2

Answers


  1. I think the problem is that you need to specify the correct environment name on this line,

    jobs:
      - deployment: lib
        environment: <environment name>
    

    You can create an environment on the DevOps page, see the reference here, then copy the name to the YAML above.

    The concept of environment here represents a collection of resources you will deploy your code. Once you have run a deployment, you should be able to see the history of deployment in the target environment.

    Login or Signup to reply.
  2. /azure-pipelines.yml (Line: 42, Col: 22): Unexpected value ”

    Test the same YAML sample and reproduce the same issue.

    enter image description here

    The cause of the issue is that you are using the format: ${{ variables.subscription }} in YAML sample.

    The variable will be processed at compile time.

    To solve this issue, you can change to use the format: $(subscription)

    For example:

    jobs:
      - deployment: lib
        environment: $(subscription)
    

    Result:

    enter image description here

    For more detailed info, you can refer to this doc: Runtime expression syntax

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search