@Cataster - Thanks for the question and using MS Q&A platform.
To migrate artifacts from Dev to QA to Prod environments in Azure Databricks, you can leverage Azure DevOps pipelines. Here are some steps you can follow:
- Create a new Azure DevOps pipeline and configure it to connect to your Bitbucket repository.
- In the pipeline, add a task to copy the required artifacts from the Dev environment to the QA environment. You can use the Databricks CLI or REST API to copy the artifacts.
- Add another task to copy the artifacts from the QA environment to the Prod environment.
- To handle the hardcoded paths in the config files, you can use Azure Key Vault to store the environment-specific variables. You can then use the Databricks CLI or REST API to replace the hardcoded paths with the environment-specific variables during pipeline runtime.
- You can also consider using Databricks notebooks to perform the transformation of the config files. For example, you can create a notebook that takes the Dev config file as input and outputs the QA or Prod config file with the environment-specific variables.
- Finally, you can use the Databricks CLI or REST API to import the updated config files into the Databricks workspace.
Overall, the best approach will depend on your specific requirements and constraints. However, using Azure DevOps pipelines and Azure Key Vault to automate the migration of artifacts and handle environment-specific variables is a common and effective approach.
FYI, the databricks repo is hosted in bitbucket (though could be changed if needed and makes things easier)
In that case, you can still use Azure DevOps pipelines to automate the migration of artifacts from Dev to QA to Prod environments in Azure Databricks. You can configure the pipeline to connect to your Bitbucket repository and use the Databricks CLI or REST API to copy the artifacts and perform the necessary transformations. You can also use Azure Key Vault to store the environment-specific variables and replace the hardcoded paths in the config files during pipeline runtime.
Hope this helps. Do let us know if you any further queries.