Using Azure Repos Git to store binary artifacts like a zip file can indeed be awkward and not the best use of a source control system. There are better ways to manage binary artifacts that allow for more flexible versioning and better storage management. Here are some alternatives you can consider:
- Artifactory by JFrog
JFrog Artifactory is a popular choice for storing binary artifacts and can support any versioning scheme you prefer, including MAJOR.MINOR.PATCH.HOTFIX. Artifactory integrates well with Azure DevOps, and you can use it to store your zip files. You can set up a service connection in Azure DevOps to Artifactory and then use this connection in your release pipeline to fetch the artifacts for deployment.
Steps to Integrate:
Set up Artifactory: First, ensure you have Artifactory set up and accessible.
Upload Artifacts: Configure your process to upload the zip files to Artifactory, with the versioning scheme you need.
Create Service Connection in Azure DevOps: Go to your Azure DevOps project settings and set up a service connection to your Artifactory instance.
Use in Release Pipeline: In your Azure DevOps release pipeline, use the Artifactory service connection to download the specific artifact version you want to deploy.
2. Azure Blob Storage
If you don't require the full feature set of a dedicated artifact repository, you can use Azure Blob Storage to store your zip files. Azure Blob Storage is cost-effective and supports storing large files without any specific versioning constraints.
Steps to Use:
Upload to Blob Storage: Automate the upload of your zip files to a Blob Storage container, possibly with a versioning scheme in the file name or path.
Access in Azure DevOps: You can access these blobs in your release pipeline either by using Azure CLI tasks, PowerShell scripts, or custom tasks designed to interact with Azure Blob Storage.