In this post I introduced Visual Studio Online as a tool to do source control for Dynamics NAV.
Another option is to use GIT. Visual Studio also conects to GIT and many developers love it.
It looks a lot less sexy than VSO but it is extremely powerfull and command line based. Try it out, it is fun.
Kamil Sazec, a good friend and NAV MVP has publised a script on codeplex for using GIT and NAV.
Here is what he says on his blog:
PowerShell–Strong tool for MS Dynamics NAV Developers
After long time, I have found some time to write this article.
Last few months was full of “Crete” testing including the PowerShell scripts to merge NAV Objects. And I must say, I have started to love PowerShell. Things, you needed to do manually or you needed to use some “hack” to do automatically (like using ROT), you can do now using PowerShell. And I started to create some scripts for things, I just needed actually do. You can find the scripts on the NAVScripts codeplex project, which is open for you and if you want, you can contribute. I want to have this project to store different scripts “made by NAV developers for NAV developers”.
Actually you can find these scripts there:
Merge-NAVGIT
this script takes two branches in GIT repository and merge the objects in them. You can solve the conflicts in kdiff3 or araxis merge (or any other tool if you want). This way you can “work around” standard GIT merge mechanism. I have merged the Rollup Update 9 to our Addon database in just 5 minutes! Merge of the updated addon to our customer customized database – another 3 minutes of work! In this way, you get the nice “train station plan” (my internal naming) like this:
Compile-NAVTxt2Fob
another script, which you can use after you merge the objects. This script is doing these steps for you automatically:
- Create new NAV database from .BAK file (e.g. from Cronus demo db backup)
- Create new NST instance for this database
- Import NAV license to the server (to have enough permissions to create objects etc.)
- Import selected .FOB file to the database (e.g. FOB with latest Rollup Update to update the database objects)
- Import selected .txt files to the database one by one (to see where is problem)
- Compile the objects imported in step 5 one by one (you can see the problems)
- Run NAV client for manual check of possible problems (could be skipped, could send email to you when ready for manual check)
- Export all objects to .FOB file
- Remove NST
- Drop database
As you can see, result should be FOB file with compiled objects ready for import to target database. It is something like “Automatic build process”. You can easily add part to run automatic testing…
Other functions
In the scripts there are many functions you can use for own scripts. You can export/import/compile objects to e.g. update the files in repository, update you database from the repository, merge version lists etc.
I hope that you will find these scripts usefull and you will be able to extend them as you will need. All is available from the codeplex here:
https://navscripts.codeplex.com
You can even fork/clone the GIT repository and contribute…
Conclusion
1 Comment