Nightly Builds Produces HUGE database and Thousands of SAMAP files
LWSpencer42
Posts: 6 Bronze 1
Our code management system produces nightly builds, instantaneous builds upon GIT PUSH to a central server, and weekend builds of all BRANCHES. This has resulted in a quite large SQL database and 10's of thousands of SAMAP files in our storage share.
What is the recommended workflow to avoid accumulating SmartAssembly CRUFT with intermediate builds which are not actually customer facing?
What is the recommended workflow to avoid accumulating SmartAssembly CRUFT with intermediate builds which are not actually customer facing?
Tagged:
Answers
You should be able to specify for SmartAssembly to obfuscate only on builds built on the Release configuration which may be one way to get around this (i.e. have your non-release builds build as debug and then set the actual release to build on the Release configuration and have SA only integrate on those builds.
Is that something that might work for you?
Kind regards,
Alex
Have you visited our Help Center?
Frankly, that sounds like it might be a pretty handy feature.
I've passed that on to the team and they're going to discuss it so I'll let you know what comes of that when I hear back!
For now, the choice is as I've stated I'm afraid!
Kind regards,
Alex
Have you visited our Help Center?
Apologies on the delay for coming back on this. We're unlikely to implement the specific functionality you are looking for here, however, in SmartAssembly 7.4.0 we added new command-line arguments that could serve as a workaround.
You said you do lots of nightly builds for which you don't want any data to be added to the database and you don't want any map files created. For such builds it's possible to use the aforementioned command-line arguments to tell SmartAssembly to use a different database, which can be later discarded. Similarly, the map files directory can be discarded as well.
Workaround (SA 7.4.0+)
1. Regular builds
For regular user-facing builds SmartAssembly is configured to:127.8.9.10\SQLExpress
\\builds\map_files
SmartAssembly is executed the same way it always was, for example:
2. Nightly builds
For nightly builds we instruct SmartAssembly on a per-build basis to:%PROGRAMDATA%\Red Gate\SmartAssembly 7\Maps
SmartAssembly must be executed with additional arguments (see all arguments for database), for example:
After the build, using a method of your choice, you will have to:
%PROGRAMDATA%\Red Gate\SmartAssembly 7\temporary.db
%PROGRAMDATA%\Red Gate\SmartAssembly 7\Maps
This way, the primary database and the primary map files folder will not be "swamped" with lots of data that you don't need for your nightly builds.
I hope that helps and apologies again for the delayed reply.
Kind regards,
Alex
Have you visited our Help Center?