I use azure devops, I have 100 releases that deploy automatically after committing to branch master.
Releases need to be approved because there is pre-approval.
Has anyone found a solution for a type of extension or script to approve everyone by stage name, because azure devops does not have such a page that shows all the pending approvers.
Related
I am using Azure DevOps to implement CI/CD for one of the project.
I have implemented manual approval in the production deployment job/pipelines.
There were 22 pipelines so interested in approving all the pipelines.
I made progress on this ..the below script(Powershell) display the pipelines and builds information.
But I am unable to achieve the end goal.
I want to keep all the history from our master branch, 1 year
the history deleted after 2 or 3 months and is bad we want to keep our production history....
To keep all the history from the master branch for a year, you can set up branch policies in Azure Devops.
Go to the Branches page in the Repos section of your project.
https://learn.microsoft.com/en-us/azure/devops/repos/git/branch-policies?view=azure-devops&tabs=browser
You could see the doc for details.
If you are using an on-premises Team Foundation Server or Azure DevOps Server, you can specify release retention policy defaults and maximums for a project. If you are using Azure DevOps Services, you can view but not change these settings for your project.
And for every release pipelines, you could see retention policy for each stage but not specific branch. You could go to release pipelines and edit release then you could see 'retention' for the release.
For individual key releases, you can click on (…) of one release pipeline and choose “retain indenfinitely”.
BTW, neither the pipeline's retention policy nor the maximum limits set by the administrator are applied when you mark an individual run or release to be 'retained indefinitely'. It will remain until you stop retaining it indefinitely.
I have two projects in my Azure DevOps environment. Project H and Project HB. Project H contains the Board of Tasks and Repo for source code. Project HB contains the build and release pipelines. The build works as it shoud, as does the release pipeline.
But I get an error in the "Release" view, when looking at the Commits made for the release.
TF401019: The Git repository with name or identifier '' does not exist or you do not have permissions for the operation you are attempting.
Which permissions should I configure to get the release to be able to show the commits and Work Items related to the release?
Is it possible to report the deployment status back to boards that exists in another project?
I Tried to add Read permission to the repo and boards in "Project H" for the account "Project HB Build Service".
1
We have the same problem with the Stakeholder access.
Team members can open the page in your screenshot, but stakeholder have the issue as described by you.
So, it's not about the Build Service access, but the user who opens the release status should have access to Project HB.
If the user already has access, then this might be a limitations within the classic release overview.
2
Two answer the second part, you should however see the build status, of the yaml pipeline, in the work items of project H.
The deploy status, of classic release pipelines, is a different story.
AFAIK it's only reported back to the project it is in.
Maybe publishing a deployment badge can help you:
3
Alternatively you could migrate to YAML pipelines, since reporting back of these pipelines have more options then the classic release pipelines.
I've been looking around for a while now but I can't seem to find a way to get push messages from the azure devops team for their release notes regarding the azure devops service. I would like to be able to incorporate the changes/release notes into a teams channel (the app). I was surprised by a change to the GET git repo list api url. Which broke some stuff.
I can't really find any way to subscribe to changes to their service, other then to watch the ms-documentation github repo.
What are the ways in which you make sure you are not surprised by breaking changes?
Testing this API: Repositories - List, we can still retrieve git repositories under this project.
In addition, sprint-184-update for Azure DevOps service brings new feature: Disable a repository.
And by reference to this doc: Build Azure Repos Git or TFS Git repositories, Azure DevOps enables some limitation to Azure Pipelines regarding to Azure Repos Git repository like Limit job authorization scope to referenced Azure DevOps repositories. Please check it.
Update>>This API: GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories?api-version=6.1-preview.1 does the same thing to retrieve git repositories.
And Azure DevOps service doesn't provide notifications about repositories changes(Add, Delete), see: Supported subscriptions for details. Also currently official released APIs list here: Azure DevOps Services REST API Reference.
BTW, you can create a new suggestion ticket here. The product group will review these tickets regularly, and consider take it as roadmap.
I have a java application and am trying to use Azure DevOps to build and deploy. Am able to do a build and publish the artifact in the build pipeline. In the release pipeline, I stages (dev/train/prod) in each stage I have a maven task to detokenize the build specific to the environment which I am able to do but I want to publish it as a artifact similar to the one in build pipeline. Is there any task to do that or any other alternate approach?
Can we publish artifacts in release pipeline - Azure devOps?
Sorry for any inconvenience.
This behavior is by designed and MS replied they don't have plans to support uploading folder/artifacts from release in near future.
When you check the document Publish Pipeline Artifacts task, It stated that:
Use this task in a pipeline to publish artifacts for the Azure
Pipeline (note that publishing is NOT supported in release
pipelines. It is supported in multi stage pipelines, build
pipelines, and yaml pipelines).
And if you check directly code that is executed, then you can see the Publish Pipeline Artifact task works only for Build pipelines.
You could check this ticket on github for some more details, many communities are waiting for publish artifact from release pipeline.
So, I helped you add a request for this feature on our UserVoice site, which is our main forum for product suggestions:
https://developercommunity.visualstudio.com/idea/823829/support-publish-artifact-from-release-pipeline.html
You could vote and add your comments for this feedback. When there are enough communities vote and add comments for this feedback, the product team member will take this feedback seriously.
Hope this helps.
I was facing the same problem: I wanted to upload artifacts in a release pipeline and in a later agent phase download those artifacts again.
Based on some answers from a related SO Post I created an Extension that offers the possibility to:
Upload a file or a folder to the Release Logs
Automatically download an Artifact from the logs that was previously uploaded
The upload task is making use of the built-in logging command to add files to the Release Logs. The download task then queries the Azure DevOps REST Api to download all logs collected thus far, tries to find the specified artifact and copies it to a specific place.
If anyone is interested, it can be found on the Marketplace