Friday morning around 6am. I had just kicked off a few validation builds when they started failing. Failing builds can happen and typically there is a valid reason for this, but in this case – ALL builds was failing and looking in the logs I quickly realized that this problem was something different.
PowerShell Gallery was down, PowerShell Gallery had an outage and it took a stunning 18 hours before it was back online…:-(
With the change to BcContainerHelper, sandbox containers became multitenant by default. This means that you have to remember the ?tenant=default in the WebClient and the “tenant” : “default” in launch.json.
The reason for this change was, that sandbox containers needs to feel and act like online tenants and online tenant are… – tenants. I did however miss out on one thing, which I was made aware of over the weekend.
This blog post is not really a troubleshooting guide (although there is a small TSG at the end). It is more like a brain dump of what I have seen over time and how I would approach a trouble shooting session. I have divided it into 6 sections:
- Dockers worst enemy (just FYI)
- Installing Docker
- Installing BcContainerHelper
- Creating a Business Central container
- Keep the script, not the Container
- Frequently seen docker errors
Going forward, I will add a link to this blog post to all issues on https://www.github.com/microsoft/navcontainerhelper/issues, where the answer to the issue is in this blog post.
The one thing most people have complained about in NavContainerHelper is that you cannot decide where it places it’s temporary files. With the shift to artifacts that got even worse because also artifacts was now placed on the c: drive.
With the shift to BcContainerHelper – this is now possible.
WARNING: Very boring long blog post ahead…
Run-AlPipeline is a new function in BcContainerHelper. It has been in preview for a number of releases while being worked on, and a number of partners have already tried to use it. My apologies for changing things under your feet, but to my defense – I did write that the function was in preview.
With version 1.0.8 of BcContainerHelper, Run-AlPipeline is ready for real-life usage… (I think)
Many years ago, I heard a joke:
3 people (a biologist, a mathematician and a developer) were in Africa on a Safari. They drive by a blue elephant. The biologist shouts out: “Look, there is a BLUE elephant.”. The mathematician states: “Right you are, there is ONE blue elephant”. The developer slaps his palm against his forehead and says: “Damn, there are blue elephants…“
Before you read anything, please understand that NavContainerHelper is still available in the PowerShell gallery and it will still be available for the foreseeable future. Existing pipelines using NavContainerHelper can continue running – no problem just yet.
Business Central and NAV July 2020 on-premises updates was published over the weekend and this is going to be the last on-premises version of Business Central and NAV released as a docker image. The existing docker images will stay on mcr.microsoft.com for some time still, but no new on premises images will be added.
I have been wanting to create a repository of scripts, where you could locate the right script for your usage. The problem I ran into was however that the number of scripts in a repository like that would very quickly explode. Yesterday evening while riding my bike, I got an idea…
Why not create a script generator script for Business Central on Docker. A script, which asks you a lot of questions and then generates a script, which you can save and run.
I know a lot of partners and customers are using the Business Central ARM templates to create an Azure VM, which runs a specific version of Business Central (or NAV). This blog post describes what changed.