Yesterday, we got a new Development Preview from Microsoft. You can read the announcement on their blog.
This time, a lot has changed on how the image is constructed – basically meaning that my blogs on how to get your development environment on your local system are totally outdated ;-). I will see on getting this available and I might update them.
How I understood it – the machine is a quite “default” machine on Azure, not having too much NAV-specific stuff on it. All NAV-specific bits and bytes are in an “docker image”. If you don’t know what that is – don’t worry :-). I don’t either (or at least not really deep) – and I’m still able to do what I want.
There are just a few things that I would like to point out already, to make your life a bit easier – or let’s say – that made my life somewhat easier on this new image.
You can develop locally
Yes you can! Your VSCode can be local – and it can connect to the NAV instance on your newly created image. You basically just need VSCode and the extension – and you can find the latest version of your extension on the VM (in the C:DEMO-folder) – or you can even download it from a URL that is provided in the status-page of the VM:
Once you have the vsix on your system, just load it in your VSCode!
Next, you should make some changes to your lauch.json – but these are all indicated on your landing page of the VM that you just created. It should look like this – and in the bottom, you see what I mean:
Then, before you are able to download symbols, or publish an extension, don’t forget to install the certificate, which you can find on the landing page as well. Make sure you install it on your local machine, in the “Trusted Root Certification Authorities”
When you are working on the VM, and you want to interact (aka “play”) somewhat with the docker container, there is a PowerShell-shell for you on the desktop:
It will take you to a prompt within the image. One very detail, but not too clear at first, is that Microsoft has foreseen a symbolic link with the host. Basically the c:DEMO folder on the host, are the very same files as the c:demo folder in the image. All files you put in that folder, as accessible in both the docker container, as your host.
Very useful for
- when you want to start playing around within the container
- Executing some PowerShell
- Import license
- Restarting service instance
Whatever. Just place the script there – like you see that I have placed my scripts there as well (WaldoPS). You can just edit them on your host – and execute them in the provided shell in the container.