Azure Machine Learning allows you to integrate with Azure Pipelines to automate the machine learning lifecycle. Users use Azure Pipelines to trigger Azure Machine Learning jobs and further automate the ML workflow based on the status of the Azure Machine Learning job.
AzureML Job Wait Task: A server task that waits for an Azure Machine Learning job to complete. Azure Machine Learning will call back to the pipeline when the job completes and the pipeline status will reflect the status of the Azure Machine Learning job.
Note: Review steps 1-3. If you already have such a service connection, you can reuse that and skip to step 4.
Navigate to your project and select "Project Settings" in the bottom left corner. From the menu, select "Service connections" and choose "New service connection."
In the "New service connection" window, select
Azure Resource Manager
Service principal (automatic)
Scope level of your choosing
Configure the service connection to the Subscription that contains the Azure Machine Learning Workspace where you will be submitting your Azure Machine Learning jobs
Navigate to Pipelines and create a new Pipeline
In the Pipeline review window, add a Server Job. In the steps part of the job, open the "Show assistant" on the right side and search for "AzureML." Select the AzureML Job Wait task and fill in the information for the job you would like to wait for.
Select "Save and run." The pipeline will wait for the Azure Machine Learning job to complete and end the task with the same status as the Azure Machine Learning Job. For example,
Q: Some AzureML jobs run for days, would this be expensive as it takes up compute time?
A: The wait task runs on a server job which does not use up expensive agent pool resources and requires no additional charges. Server jobs (indicated by pool: server) runs on the same machine as your pipeline. More information can be found in ADO's documentation.
Q: Can the wait task wait on multiple AzureML jobs?
A: No, one wait task can only wait on one job. You will need to set up a separate task for each job that you want to wait on.
Q: How long can the task wait?
A: The task can wait for a maximum of 2 days. This is a hard limit set by Azure DevOps Pipelines. We are currently working with the ADO team to support a longer time.