I am new at JasperReports Server. I have set up a test instance on AWS and experimented with it. I have been tasked with finding the most convenient and least error-prone way of version controlling our JasperReports Server reports and domains. I see questions on the Internet going back eight years asking how to do this. I would like to hear from anybody who is doing this today, and how they manage it.
To encourage discussion, here is what I have been attempting: For each individual domain, and each individual report, I have created a separate Mercurial repository (could just as easily be git.) Periodically I will manually export the report as a zip file, and will unzip it into the repository, the commit my changes.
- anytime any file inside is removed (report resource, etc.) Version controlling won't pick this up because it's not overwriting a file
- I have to do this separately for every report and every domain, manually, partly because of the "removal" problem (if I put all reports into the same repo, removed reports would still be there) and also because if I wanted to zip specific reports back up and import them rather than the whole thing, they'd have to be separate.
I would like to avoid version controlling the actual zip file because then I can't diff, and it loads the repo up with binary blobs.