Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Azure DevOps Variable secrets between tasks jobs issecret=true

My Keyvault secrets are appearing in clear text in the console, I tried to set the variable to a secret:

echo "##vso[task.setvariable variable=nsg-list;issecret=true;isOutput=true]$(nsg-list)"
echo "##vso[task.setvariable variable=nsg-rules;issecret=true;isOutput=true]$(nsg-rules)"

Now the build are failing, if I remove the issecret=true the builds work again.

I need to pass the variables between tasks and jobs, is there a better way of doing this ?

pool:
     vmImage: 'Ubuntu-16.04'
   steps:
     - task: AzureKeyVault@1
       displayName: Read variables from keyvault
       inputs:
         azureSubscription: Sandbox
         keyVaultName: "sandbox"
         secretsFilter: '*'
     - script: |
         echo "##vso[task.setvariable variable=backend_storage_account_name;issecret=true;isOutput=true]$(backend-storage-account-name)"
         echo "##vso[task.setvariable variable=backend_storage_container_name;issecret=true;isOutput=true]$(backend-storage-container-name)"
         echo "##vso[task.setvariable variable=backend_access_key;issecret=true;isOutput=true]$(backend-access-key)"
         echo "##vso[task.setvariable variable=tenant-id;issecret=true;isOutput=true]$(tenant-id)"
         echo "##vso[task.setvariable variable=app-id;issecret=true;isOutput=true]$(app-id)"
like image 778
stravze Avatar asked Oct 20 '25 09:10

stravze


1 Answers

you need to explicitly set them as environment variables with something like this:

env:
  var1: $(your_var_name)

in each step you intend to use them. and then you. can use them as environment variables

like image 188
4c74356b41 Avatar answered Oct 22 '25 04:10

4c74356b41



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!