@@ -84,68 +84,6 @@ steps:
8484 INFRA_RG_LENGTH : $(OUT_RESULT_LENGTH)
8585
8686
87- # # Managed Identity ##
88-
89- - template : get-resources.steps.yaml
90- parameters :
91- resourceType : managedidentity
92- serviceConnection : $(ACN_TEST_SERVICE_CONNECTION)
93- inputs :
94- resourceGroupName : $(resourcegroups.ACNCI_BUILD_RESOURCEGROUP)
95- buildTagDefinitionIdKey : $(ACNCI_BUILDTAG_DEFINITIONID)
96- buildTagCreatedByAppIdKey : $(ACNCI_BUILDTAG_CREATEDBYAPPID)
97-
98- - template : create-or-update-resource.steps.yaml
99- parameters :
100- serviceConnection : $(ACN_TEST_SERVICE_CONNECTION)
101- resourceType : managedidentity
102- refreshAfterCreation : True
103- createCondition : |
104- and(succeeded(),
105- or(not(variables.OUT_RESULT_LENGTH),
106- eq(variables.OUT_RESULT_LENGTH, 'null'),
107- lt(variables.OUT_RESULT_LENGTH, 1)))
108- updateCondition : False
109- inputs :
110- managedIdentityList : $(OUT_RESULT)
111- managedIdentityCount : $(OUT_RESULT_LENGTH)
112- managedIdentityName : ' $(ACNCI_MANAGEDIDENTITY_PREFIX)$(LOCAL_ACNCI_UNIQUE_ID)-$(resourcegroups.ACNCI_BUILD_RESOURCEGROUP_LOCATION)'
113- managedIdentityLocation : $(resourcegroups.ACNCI_BUILD_RESOURCEGROUP_LOCATION)
114- resourceGroupName : $(resourcegroups.ACNCI_BUILD_RESOURCEGROUP)
115- buildTagDefinitionIdKey : $(ACNCI_BUILDTAG_DEFINITIONID)
116- buildTagCreatedByAppIdKey : $(ACNCI_BUILDTAG_CREATEDBYAPPID)
117- buildTagCreatedByBuildIdKey : $(ACNCI_BUILDTAG_CREATEDBYBUILDID)
118-
119- - task : AzureCLI@2
120- name : managedidentity
121- displayName : " [Output] Build User ManagedIdentity Details"
122- inputs :
123- azureSubscription : $(ACN_TEST_SERVICE_CONNECTION)
124- scriptType : bash
125- scriptLocation : inlineScript
126- addSpnToEnvironment : true
127- inlineScript : |
128- set -e
129- [[ -n $SYSTEM_DEBUG ]] && [[ $SYSTEM_DEBUG =~ $IS_TRUE ]] && set -x || set +x
130-
131- # Select MI to use
132- RANDOM_SELECT=`tr -dc '1-9' < /dev/urandom | head -c${1:-7}`
133- IDX=$(( "$RANDOM_SELECT" % "$MI_LIST_LENGTH" ))
134- MI_DATA=$(echo "$MI_LIST" | jq --argjson IDX "$IDX" -rc '.[$IDX]')
135-
136- MI_ID=$(echo "$MI_DATA" | jq -r '.id')
137- echo >&2 "##vso[task.setvariable variable=ACNCI_MANAGEDIDENTITY_ID;isoutput=true]$MI_ID"
138- MI_PRINCIPALID=$(echo "$MI_DATA" | jq -r '.principalId')
139- echo >&2 "##vso[task.setvariable variable=ACNCI_MANAGEDIDENTITY_OBJECTID;isoutput=true]$MI_PRINCIPALID"
140- MI_APPID=$(echo "$MI_DATA" | jq -r '.clientId')
141- echo >&2 "##vso[task.setvariable variable=ACNCI_MANAGEDIDENTITY_APPID;isoutput=true]$MI_APPID"
142- MI_NAME=$(echo "$MI_DATA" | jq -r '.name')
143- echo >&2 "##vso[task.setvariable variable=ACNCI_MANAGEDIDENTITY_NAME;isoutput=true]$MI_NAME"
144- env :
145- ACNCI_BUILD_RESOURCEGROUP : $(resourcegroups.ACNCI_BUILD_RESOURCEGROUP)
146- MI_LIST : $(OUT_RESULT)
147- MI_LIST_LENGTH : $(OUT_RESULT_LENGTH)
148-
14987# # MI Service Connection
15088
15189# - template: get-resources.steps.yaml
@@ -358,6 +296,7 @@ steps:
358296 # - Local Use Only -
359297 # SA Object
360298 echo >&2 "##vso[task.setvariable variable=ACNCI_STORAGEACCOUNT]$SA_DATA"
299+ echo $SA_DATA
361300 else
362301 echo >&2 "##[error]No storage accounts available for use."
363302 exit 1
@@ -398,6 +337,68 @@ steps:
398337 STORAGEACCOUNT_NAME : $(artifact_storage.ACNCI_STORAGEACCOUNT_NAME)
399338 STORAGECONTAINER_NAME : $(artifact_storage.ACNCI_STORAGEACCOUNT_CONTAINER_NAME)
400339
340+ # # Managed Identity ##
341+
342+ - template : get-resources.steps.yaml
343+ parameters :
344+ resourceType : managedidentity
345+ serviceConnection : $(ACN_TEST_SERVICE_CONNECTION)
346+ inputs :
347+ resourceGroupName : $(resourcegroups.ACNCI_BUILD_RESOURCEGROUP)
348+ buildTagDefinitionIdKey : $(ACNCI_BUILDTAG_DEFINITIONID)
349+ buildTagCreatedByAppIdKey : $(ACNCI_BUILDTAG_CREATEDBYAPPID)
350+
351+ - template : create-or-update-resource.steps.yaml
352+ parameters :
353+ serviceConnection : $(ACN_TEST_SERVICE_CONNECTION)
354+ resourceType : managedidentity
355+ refreshAfterCreation : True
356+ createCondition : |
357+ and(succeeded(),
358+ or(not(variables.OUT_RESULT_LENGTH),
359+ eq(variables.OUT_RESULT_LENGTH, 'null'),
360+ lt(variables.OUT_RESULT_LENGTH, 1)))
361+ updateCondition : False
362+ inputs :
363+ managedIdentityList : $(OUT_RESULT)
364+ managedIdentityCount : $(OUT_RESULT_LENGTH)
365+ managedIdentityName : ' $(ACNCI_MANAGEDIDENTITY_PREFIX)$(LOCAL_ACNCI_UNIQUE_ID)-$(resourcegroups.ACNCI_BUILD_RESOURCEGROUP_LOCATION)'
366+ managedIdentityLocation : $(resourcegroups.ACNCI_BUILD_RESOURCEGROUP_LOCATION)
367+ resourceGroupName : $(resourcegroups.ACNCI_BUILD_RESOURCEGROUP)
368+ buildTagDefinitionIdKey : $(ACNCI_BUILDTAG_DEFINITIONID)
369+ buildTagCreatedByAppIdKey : $(ACNCI_BUILDTAG_CREATEDBYAPPID)
370+ buildTagCreatedByBuildIdKey : $(ACNCI_BUILDTAG_CREATEDBYBUILDID)
371+
372+ - task : AzureCLI@2
373+ name : managedidentity
374+ displayName : " [Output] Build User ManagedIdentity Details"
375+ inputs :
376+ azureSubscription : $(ACN_TEST_SERVICE_CONNECTION)
377+ scriptType : bash
378+ scriptLocation : inlineScript
379+ addSpnToEnvironment : true
380+ inlineScript : |
381+ set -e
382+ [[ -n $SYSTEM_DEBUG ]] && [[ $SYSTEM_DEBUG =~ $IS_TRUE ]] && set -x || set +x
383+
384+ # Select MI to use
385+ RANDOM_SELECT=`tr -dc '1-9' < /dev/urandom | head -c${1:-7}`
386+ IDX=$(( "$RANDOM_SELECT" % "$MI_LIST_LENGTH" ))
387+ MI_DATA=$(echo "$MI_LIST" | jq --argjson IDX "$IDX" -rc '.[$IDX]')
388+
389+ MI_ID=$(echo "$MI_DATA" | jq -r '.id')
390+ echo >&2 "##vso[task.setvariable variable=ACNCI_MANAGEDIDENTITY_ID;isoutput=true]$MI_ID"
391+ MI_PRINCIPALID=$(echo "$MI_DATA" | jq -r '.principalId')
392+ echo >&2 "##vso[task.setvariable variable=ACNCI_MANAGEDIDENTITY_OBJECTID;isoutput=true]$MI_PRINCIPALID"
393+ MI_APPID=$(echo "$MI_DATA" | jq -r '.clientId')
394+ echo >&2 "##vso[task.setvariable variable=ACNCI_MANAGEDIDENTITY_APPID;isoutput=true]$MI_APPID"
395+ MI_NAME=$(echo "$MI_DATA" | jq -r '.name')
396+ echo >&2 "##vso[task.setvariable variable=ACNCI_MANAGEDIDENTITY_NAME;isoutput=true]$MI_NAME"
397+ env :
398+ ACNCI_BUILD_RESOURCEGROUP : $(resourcegroups.ACNCI_BUILD_RESOURCEGROUP)
399+ MI_LIST : $(OUT_RESULT)
400+ MI_LIST_LENGTH : $(OUT_RESULT_LENGTH)
401+
401402- task : AzureCLI@2
402403 displayName : " [Provision] Build User Access Permissions"
403404 continueOnError : true
0 commit comments