AL DevOps, Docker and 3rd Party Add-ins

markcle
Member Posts: 65
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
Just watched this:

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
0
Answers
-
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 - ArcherPoint0 -
Thanks Kyle. Will check it out0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions