Azure Devops solution for max excution time
Mystic last edited by
Azure Devops has a 60 minutes max execution time for pipelines but sometimes my deployment takes much more than this, the pipeline time out and, since is a time out, no further tasks are run in the pipeline, even the ones that send email/message about the error on the pipeline. I cannot change the timeout (budget issue).
I am thinking in start the deployment process (is async), finishing the pipeline with a status other than ``
success, and using a trigger (I can create a trigger on the system I am deploying to do something when the deploy finish) to call the Azure DevOps API and change the status of the pipeline to success/failed and/or start another pipeline to run the post-deploy steps.
Is this overenginering? Is there a better way to solve this problem?
emmalee last edited by
If you separate your tasks in to different jobs, each job has 60 min independently of the next job when running on a MS hosted agents and you can manually set a longer timeout if you use a self hosted agent for a job.
For example my automated tests take longer then 60 minutes so I use a timeoutInMinutes Property on the job of 360 minutes, I am using a self hosted agent so that is why I am not limited to the 60min, more details on agents https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/agents?view=azure-devops&tabs=browser
- job: RunTests timeoutInMinutes: 360 displayName: Automated tests Job variables: - group: eStrategyURLs - name: Env value: 'UAT' .... steps: - checkout: QA-Automation path: s/$(qaTestCodeRepoName)
- template: '..\SharedResources\CypressTests.Template.yml' parameters: emailList: $(Build.RequestedForEmail)