Azure DevOps Permissions on Pipeline Artifacts - azure-devops

Is there a way to configure users to be able to view builds in Azure DevOps but disallow downloading of pipeline artifacts from the build status page (published via PublishPipelineArtifact#1)?

Unfortunately, there is no such permission to prevent downloading artifacts in a pipeline. If you can see the build, you would be able to download the artifacts.
You may submit a suggestion for this request at website below:
https://developercommunity.visualstudio.com/content/idea/post.html?space=21

Related

How do I show multiple Azure Pipeline pipelines in GitHub?

We use Azure DevOps for our CI/CD pipelines, but our repositories are in GitHub. We currently trigger the CI pipelines on each push, but there is no link to GitHub so we lose easily seeing the status of a build in pull requests / automatically failing a check if a build fails.
Azure Pipelines has an app on GitHub Marketplace for integrating pipelines with repositories / pull requests. I installed this in our GitHub organization and configured it with the repository access it needs, which then had me authenticate with Azure DevOps, select the project and the pipeline yaml associated with the repository.
This works great and I can see the status directly in a pull request -
The issue is that I have multiple pipelines I would like to run and display the status of in the pull request. We have a monorepo but I only want to build an app if it was modified, so I utilize path filters in the Azure Pipelines yaml so the CI is only run when I need it to. GitHub does not discover/display the status of other CI pipelines I have in the project.
Initially, I tried just setting up another azure pipelines yaml that is triggered by pull requests. When I make a pull request, I see in Azure Pipelines the CI was triggered by 'PR automated for {pr number}', but it does not display it's status in GitHub.
I ended up going to the Azure Pipelines app settings in GitHub, 'revoking' access to the repository, and then immediately re-configuring it with access to the same project as before, but selecting a different pipeline yaml. This worked, it retained the first build I configured and added the second, and now multiple builds are shown in the pull request -
But this does not seem like the intended way to accomplish this. The GitHub app links to the entire documentation for Azure Pipelines, not specifically to docs about the app, and I have not been able to find any info within on how to do this.
Is there a way to add multiple pipelines with the Azure Pipelines app on GitHub, outside of this workaround?

How to upload an artifact to an Azure DevOps build using the API

Can anyone shed some light on how to use the ADO API to upload an artifact to a build. I can't find an example that shows how to do this.
https://learn.microsoft.com/en-us/rest/api/azure/devops/build/artifacts/create
I know there is the vso task: ##vso[artifact.upload]local file path
But, I need to do this from another script and the vso task isn't available.
Thanks.

Azure DevOps 2020 - how do I select which artifacts to download for a release pipline (18.170.30525.1 (Azure DevOps Server 2020))

I have a build pipeline with 2 publish artifacts.
In my release pipeline i want to download just the first artifact.
I know that it should be possible as I have read here
In Azure Pipelines, you can, however, select which artifacts you want to download to the agent for a specific job and stage of the deployment. Typically, you will do this to improve the efficiency of the deployment pipeline when the tasks in that job do not require all or any of the artifacts, or if you implement custom code in a task to download the artifacts you require.
but I cant find it...
This is how the release job details look like:
as you can see the artifact selection is missing.
here is how I configured the artifact in the release pipe:
apparently there is an issue with on premiss none NTLM agents.
https://developercommunity.visualstudio.com/content/problem/520932/azure-devops-server-2019-where-is-partially-downlo.html
Partial artifacts feature isn't enabled by default in Azure DevOps Server 2019. We have an issue with "Download Build artifacts" not working with NTLM based proxy hence we couldn't roll out this feature to OnPremise customers.

Does TFS has releases tab like we have at GitHub Releases

I am looking for hosting .exe files in Azure Devops. It seems to don't have feature similar to how we host executable or build files in GitHub for other people to download. Do we have such kind of feature to host the executables and have the latest commit tagged?
You can try publishing the executable or build files as Build Artifacts in Azure devops build pipeline.
You can create a pipeline in azure devops and using Publish build artifacts task to store the executable or build files in azure pipeline
See example here to create a classic azure pipeline. See Here for yaml pipeline example.
When you run the pipeline. You will see the commit hash and the files uploaded in the highlighted field of the build summary page shown in below screenshot. And you download the files from there.
You can retain this artifacts by Clicking retain in the pipeline run. See below
You can also change the retention policy for your pipeline. See here for more information.
Go the Project settings page-->Settings under Pipeline. See below:

How do i get my Azure DevOps release pipeline to get artifacts from Azure Storage Account

Im using Azure DevOps and have setup a "Release" pipeline, not a "Build" pipeline, and I want Release Pipeline to get is Artifacts from my Azure Storage Accounts.
The Artifacts have already been built and are Nuget package (.nupkg) files. I have copied them into an Azure Storage Account as File Storage. All they need to do is be use by a release pipeline.
So my question is how do I get my Azure Release Pipeline to get these files and use them in the Release?
There isn't any native way to download automatically the binaries from a storage at the beginning of the release, you will have to add your own tasks to download it from the release (and add the connection string as a variables).
The usual pattern to share generated files between a build and a release is to use an Azure DevOps Artifact. You will need to add a the "Publish Build Artifacts" task to your build and then you will be able to link it to your release by clicking "+ Add" on the artifact panel.