Based on Realising the Feedback Loop, once the package has been promoted to it’s last stage, it is then pushed to the artefact store
In this example Azure DevOps (ADO) using the az artifacts extension, see the example push.tsk
.
Write-Host "[$TASK_NAME] Verify deployable artefact is available`n"
$package_name = (Get-Item "$(PWD)\release.ps1" -ErrorAction SilentlyContinue).FullName
if ( ! ( $package_name )) { ERRMSG "[PACKAGE_NOT_FOUND] $(PWD)\release.ps1 not found!" 9996 }
Write-Host "[$TASK_NAME] Verify Azure DevOps PAT is set correctly`n"
VARCHK push.varchk
PROPLD manifest.txt
$version = ${artifactPrefix} + '.' + ${BUILDNUMBER}
Write-Host "[$TASK_NAME] Push package to `$ado_project $ado_project"
Write-Host "[$TASK_NAME] `$ado_org = $ado_org"
Write-Host "[$TASK_NAME] `$ado_project = $ado_project"
Write-Host "[$TASK_NAME] `$ado_feed = $ado_feed"
Write-Host "[$TASK_NAME] `$SOLUTION = $SOLUTION"
Write-Host "[$TASK_NAME] `$version = $version"
Write-Host "[$TASK_NAME] `$package_name = $package_name"
az artifacts universal publish --organization $ado_org --project $ado_project --scope project --feed $ado_feed --name $SOLUTION --version $version --path $package_name
The package can be retrieved using the semantic version, or latest
(current production).
To see how this can be consumed in a Release Train approach, see Terraform Cloud.