In my pipeline on my Azure Devops project, I'm building my project and then zipping up the output into a file. However, at the moment, I have no way to access this archive. I would like to upload it to a cloud storage service such as OneDrive, Google Drive, Dropbox or similar. But I haven't been able to find a simple way of doing this yet. Can anyone help me?
Upload Azure Pipelines File to Onedrive or similar
6.2k Views Asked by Jade Ellis At
2
There are 2 best solutions below
4

Use the Publish Artifact task to publish your build output. This will attach it to the build results. You will be able to download or consume the file in a downstream process such as a release definition.
Documentation is avalable on learn.microsoft.com.
Several approaches can be used. If only "access" to the zip is needed after a build has completed the Publish Build Artifact task is actually what you want.
This will publish specified files as artifacts within the completed pipeline job.
From within the detail view of the Build-Job you can then download and use whatever the pipeline produced.
It can be configured as a build step, like this:
Where the
pathToPublish
is the path to the artifact you want to publish. Usually the compiled resources are copied to theArtifactStagingDirectory
and then the contents of that directory is published. This makes it easier if there are many steps that all contribute to the final artifact.There are several community supported tasks that allow files to be uploaded to cloud-services:
However since Azure tends to update regularly these might not be so future-proof depending on the maintainer.
If you still want to upload your zip to the cloud where it is more accessible the easiest way would be to use the FtpUpload task.
However don't place passwords and usernames directly into your YAML, use secret variables instead.
It is also possible to upload artifacts to Azure Storage by using the AzureFileCopy task
If you want more control add a script to your repository that does the uploading (example script) and execute that as a Command Line task.