@@ -579,14 +579,6 @@ stages:
579
579
pipeline : $(pipelineId)
580
580
runVersion : " specific"
581
581
runId : ${{ parameters.artifactBuildId }}
582
- - task : PipAuthenticate@1
583
- inputs :
584
- artifactFeeds : ' release/aztfy'
585
- - script : |
586
- set -e
587
- pip install pyOpenSSL --upgrade
588
- pip install pmc-cli
589
- displayName: "Install PMC"
590
582
- task : AzureKeyVault@2
591
583
displayName : " Get PMC prod certificate"
592
584
inputs :
@@ -596,27 +588,39 @@ stages:
596
588
RunAsPreJob : false
597
589
- script : |
598
590
set -e
591
+ # Setup the pmc folder at host
599
592
pmc_dir=~/.config/pmc
600
593
mkdir -p $pmc_dir
594
+
601
595
echo "$PMC_CERT" > $pmc_dir/aztfexport.pem
596
+
597
+ pmc_container_dir=/root/.config/pmc
598
+
602
599
cat << EOF > $pmc_dir/settings.toml
603
600
[prod]
604
601
base_url = "https://pmc-ingest.trafficmanager.net/api/v4"
605
602
msal_client_id = "${PMC_CLIENT_ID}"
606
603
msal_scope = "api://d48bb382-20ec-41b9-a0ea-07758a21ccd0/.default"
607
- msal_cert_path = "$pmc_dir /aztfexport.pem"
604
+ msal_cert_path = "$pmc_container_dir /aztfexport.pem"
608
605
msal_SNIAuth = true
609
606
msal_authority = "https://login.microsoftonline.com/MSAzureCloud.onmicrosoft.com"
610
607
EOF
608
+
609
+ # Pull PMC docker image and setup the pmc alias
610
+ docker pull mcr.microsoft.com/pmc/pmc-cli
611
+ pmc_cmd=(docker run --volume "$pmc_dir:$pmc_container_dir" --rm --network=host mcr.microsoft.com/pmc/pmc-cli)
612
+
611
613
pkg=(./dist/pkg/*.${TYPE})
612
614
[[ ${#pkg[@]} == 1 ]] || { echo "not exactly one target packages found: $(declare -p pkg)" > 2; exit 1; }
613
615
pkg=${pkg[0]}
616
+ pkg_name=$(basename $pkg)
617
+ cp $pkg $pmc_dir/$pkg_name
614
618
615
619
# Allow error's to occur prior to quit the task, as we are capturing the command output, otherwise, we will have no chance to output that in stdout/stderr.
616
620
set +e
617
621
618
622
# Upload package
619
- ret=$(pmc package upload $pkg )
623
+ ret=$("${pmc_cmd[@]}" package upload $pmc_container_dir/$pkg_name )
620
624
[[ $? == 0 ]] || { echo "Error: pmc package upload failed: $ret" >&2; exit 1; }
621
625
echo -e "pmc package upload returns:\n$ret\n"
622
626
@@ -629,12 +633,12 @@ stages:
629
633
if [[ $TYPE == deb ]]; then
630
634
args+=($REPO_RELEASE)
631
635
fi
632
- ret=$(pmc "${args[@]}")
636
+ ret=$("${pmc_cmd[@]}" "${args[@]}")
633
637
[[ $? == 0 ]] || { echo "Error: pmc repo package update --add-packages: $ret" >&2; exit 1; }
634
638
echo -e "pmc repo package update --add-packages returns:\n$ret\n"
635
639
636
640
# Publish repo
637
- ret=$(pmc repo publish $REPO_ID)
641
+ ret=$("${pmc_cmd[@]}" repo publish $REPO_ID)
638
642
[[ $? == 0 ]] || { echo "Error: pmc repo publish: $ret" >&2; exit 1; }
639
643
echo -e "pmc repo publish returns:\n$ret\n"
640
644
displayName: "Publish via pmc"
0 commit comments