AL DevOps, Docker and 3rd Party Add-ins

markclemarkcle Member Posts: 65
edited 2020-03-06 in NAV Tips & Tricks
Hi All

Just watched this: https://www.youtube.com/watch?v=iVLOerdCuwA and it seems very interesting.

I've got docker up and running with standard MS docker repos. However, we use BC130 on-prem with a major add-in ($1.8K per user) that is written in C/AL (won't be AL extension until v16). This add-in adds 500+ tables and changes a ton of standard functionality.

My AL extensions need to use a lot of this add-in's data and I frequently need to refresh the base data in my dev instance

I'm working on automated testing right now and would lone to move to CI (used to working with Jenkins, Selenium, XUnit, Nexus in past). Currently using Azure DevOps for issue requirements, dev, testing and repos.

I'm stuck on how to use docker with my BC130 and the Add-in. What I really want is to prep my On-prem dev instance and then make this into a docker container

Anyone done anything like this?

Thanks

Mark 

Answers

  • kylehardinkylehardin Member Posts: 257
    You can have a mixed C/AL and AL database. The trick is getting the C/AL symbols generated correctly so that AL can see the C/AL objects. Note that this is only works one direction - you cannot create an AL table and reference that (not directly anyway) in C/AL.

    You can make a docker build script do this. And this same docker script can also be used in Azure DevOps to create a build container that gets created and destroyed every build. However - because you have C/AL, this will be a painfully slow process - like 20 minute builds.

    This is just a skeleton - not an actual script, and it assumes you are using Freddy Kristiansen's navcontainerhelper.

    New-NavContainer $containerName (whatever parameters)
    Import-ObjectsToNavContainer `
    -containerName $containerName `
    -objectsFile "add-on.fob" `
    -SynchronizeSchemaChanges force
    Generate-SymbolsInNavContainer $containerName

    Once the container is running, then download symbols in Visual Studio Code.
    Kyle Hardin - ArcherPoint
  • markclemarkcle Member Posts: 65
    Thanks Kyle. Will check it out
Sign In or Register to comment.