This Azure DevOps extension allows you to upload build artifacts to Buildstash.
Buildstash is a platform for software teams to manage all their past builds, organize, share with team members, and steer through to deployment or publishing.
- Upload software builds, for any platform
- Attach associated metadata to builds - such as git commit, Azure Pipelines run data, etc
- Once stored in Buildstash, builds can be be powerfully organized, shared, and more
Install the extension to your Azure DevOps organization via the marketplace at https://marketplace.visualstudio.com/items?itemName=Buildstash.buildstash-tasks
Add the Buildstash upload task to your pipeline script, using the example below.
Add the application specific API key as a secret variable for your pipeline, with name BUILDSTASH_API_KEY.
Note: You will need to have an active Buildstash account and API key for your application, sign up at buildstash.com
Add the "Upload to Buildstash" task to your Azure DevOps pipeline:
- task: BuildstashUpload@1
displayName: Upload to Buildstash
inputs:
apiKey: $(BUILDSTASH_API_KEY)
structure: 'file'
primaryFilePath: 'example.exe'
versionComponent1Major: '1'
versionComponent2Minor: '0'
versionComponent3Patch: '1'
versionComponentExtra: 'beta'
versionComponentMeta: '2024.12.02'
customBuildNumber: '12345'
platform: 'windows'
stream: 'default'
# Optional CI info
ciBuildDuration: '15m30s'
# Optional VC info
vcHostType: 'git'
vcHost: 'github'
vcRepoName: $(Build.Repository.Name)
vcRepoUrl: $(Build.Repository.Uri)
vcBranch: $(Build.SourceBranchName)
vcCommitSha: $(Build.SourceVersion)
vcCommitUrl: $(Build.Repository.Uri)/commit/$(Build.SourceVersion)
- Primary File Path: Path to the primary build artifact file to upload
- Structure: Structure type for the upload (
file
orfile+expansion
) - API Key: Buildstash API key for authentication (should be passed in as a secret variable)
- Expansion File Path: Path to the optional expansion file to upload (can be used to upload Android .obb files with a primary .apk)
- Version Components: Major, minor, patch version components, with optional extra and meta components
- Custom Build Number: Custom build number, in any preferred format
- Version Control Information: Host type, host, repository details, branch, commit information
- Platform: Platform name (must exactly match platform slug attached to your app)
- Stream: Stream name (must exactly match)
- Notes: Optional build notes
By default Azure DevOps will timeout jobs after 60 minutes.
This is probably fine, but if you are uploading a particularly massive build, or have a slow connection, you may wish to tweak this.
This is done on the job as below:
jobs:
- job: Test
timeoutInMinutes: 60 # how long to run the job before automatically cancelling in minutes - increase if needed for large uploads
Refer to Azure docs for more detail.