Source Control and Deployment - Azure Devops and OctopusDeploy

I work in a SQL Server environment and we are investigating the use of Graph Databases. I have searched and have not had any success looking for any resources on how Neo4j databases can be managed in source control or automated deployments. Apologies if this question is duplicative or in the wrong place.

Our environment currently uses Azure Devops with git to keep databases in source control, and then Azure Devops pipelines build out packages that are deployed with OctopusDeploy to on-prem databases. We have just a few databases that are in the cloud, but I do not work with them much.

Are there any resources about managing on-prem Neo4j databases in source control, and automating deployments of changes? Ideally with Azure Devops and OctopusDeploy, but really just interested in knowing how it can be done at all. Is the answer different if Neo4j is cloud-based?

Thanks in advance.

Tim Goergen

1 Like

Hello Tim, I found this video about versioning data.

There are also backup operations, but they're Enterprise-only.

About automated deployments, there's not too much needed to customize your database, so maybe you could set a custom config file and copy it over any new instance you'd need.

About automated data ingestion and processing, I believe this could be achieved via Kafka or creating scripts using one of these drivers.

1 Like

@andreperez I appreciate the quick reply. For version control, I am more interested in keeping the database schema in source control, rather than tracking changes in data. We would likely be loading data daily and would expect it to change. The schema would not change as often and that is what we are used to tracking in source control.

I will investigate the custom config file you mention. If that is how the schema of the database is determined, then learning how to automate the deployment of that file would be the type of automation that we are trying to understand.

We do already have some use of Kafka so learning more about that and how it could be applied here is very helpful, thank you!