AL-Go for GitHub

It has been a while since my last blog post and the reason behind this is quite simple: I have been busy. Busy creating AL-Go for GitHub.

AL-Go for GitHub is plug-and-play DevOps for Business Central PTEs or AppSource apps on GitHub. A tool, which does NOT require you to modify PowerShell scripts, change .yaml workflows or pipelines, but still allows you to setup and maintain full DevOps for your Business Central projects with a click of a button.

AL-Go for GitHub will only be supported on GitHub and we have no plans of migrating that to Azure DevOps. We also will not ship any new versions of the Hands-On-Lab with focus on Azure DevOps.

BcContainerHelper, docker and a number of the tools that is used in AL-Go for GitHub can still be used on Azure DevOps, but our focus will be on GitHub.

Why GitHub?

Since the acquisition of GitHub in 2018, Microsoft has been investing heavily in the functionality of GitHub, constantly adding features and functionalities to actions and workflows. In many ways, GitHub is to Azure DevOps what VS Code is to Visual Studio, the leaner and more agile brother.

It was also important for us that both ALOps and Cosmo have offerings on Azure DevOps, giving a real alternative to people who prefer Azure DevOps, allowing us to provide a free and open-source tool on GitHub.

Functionality wise, there are still places, where Azure DevOps have more functionalities built in than GitHub. A graphical view of build and release pipelines are some of the areas, where AL-Go for GitHub is lacking behind similar offerings on Azure DevOps. Rest assured that GitHub will catch up.

The Business Central Launch Event presentation

AL-Go for GitHub has been in preview for some months and officially released on April 1st, 2022. During Directions North America I had a session about AL-Go, which was very similar to the session, which was recorded and is available on the Business Central Launch Event. It is free to register and watch the video, which is called: Introducing: Do-it-yourself CI/CD made easy with GitHub.

Maintaining your repository

As you might remember, I wrote a blog post 1½ year ago on how to setup CI/CD on GitHub using the HelloWorld template. This was also just 5 minutes to WOW – but then you had a copy of a repository, including a number of scripts and it was a steep learning curve to maintain, update and fix issues in your workflows.

The single biggest advantage of AL-Go for GitHub is, that upgrading your repository to the latest version of AL-Go for GitHub is done by running a workflow. Until you run this workflow, your repository will keep running on the version you currently have, using the version of the actions that your repo has been using all the time.

Regular updates and innovations added to AL-Go for GitHub, will not break your pipeline and can be applied and removed as any other Pull Request, allowing you to have a stable DevOps setup at all times. The explanation of how this is possible is at the end of the Launch Event presentation.

Documentation and Usage scenarios

You will find the official documentation on docs and you will find a Hands-On-Lab like walkthrough of scenarios on GitHub.

Support and questions

Support is provided on GitHub. You can also ask questions in our Yammer group for partners.

One-Size

AL-Go for GitHub is one-size, but it is not necessarily one-size fits all. What you gain in improved user experience – you might lack in flexibility. Not that AL-Go for GitHub isn’t flexible (everyone who has worked with any of my tools know that there are a ton of hooks), but if you need to bend over backwards in order to make AL-Go for GitHub meet your needs, then AL-Go might not be the right tool for you.

Instead of forcing AL-Go to do exactly what you want, you might want to read some of the upcoming blog posts explaining why AL-Go was created like it is.

Next steps

My next blog post will be on how to migrate from a DevOps repository created on GitHub or Azure DevOps using the old Hands-On-Lab. What do you need to do to get up running?

In the near future, I will also ship an AL-Go for GitHub wizard – kind of like New-BcContainerWizard, where you answer a number of questions in a wizard-like environment and you will get a repo setup for you.

I will also write up some blog posts about branching and versioning of apps to explain what lies behind the thinking that went into AL-Go for GitHub.

Enjoy

Freddy Kristiansen
Technical Evangelist

13 thoughts on “AL-Go for GitHub

  1. Pingback: Migrating to AL-Go for GitHub | Freddys blog

  2. Pingback: Pre-Releases & GitHub Actions for Visual Studio Code Extensions – James Pearson

  3. Pingback: Pre-Releases & GitHub Actions for Visual Studio Code Extensions - 365 Community

  4. Pingback: Pre-Releases & GitHub Actions for Visual Studio Code Extensions - Dynamics 365 Business Central Community

  5. Pingback: Pre-Releases & GitHub Actions for Visual Studio Code Extensions - Dynamics 365 Business Central Community

  6. Pingback: AL-Go for GitHub | Pardaan.com

  7. I followed your Link to watch “Introducing: Do-it-yourself CI/CD made easy with GitHub”, but unfortunately when loading the Video, it shows a network error and that the video can not be loaded. I tried from multiple locations with different ISPs and different Browsers and always get the same error. I can see the Transcript at least, but the video would be nice. I am sure there is nothing you can do about that error, but I wonder if there is another recording somewhere of your presentation available. That would be great 🙂

    Like

      • Thanks for your reply. Yes, I followed your link, registered and when trying to watch any Videos on that site I got that error message. But yesterday some magic happend and I received an E-Mail that I was invited to watch the Videos… and now they work. It seems that the registration process somehow was stuck and it took a few days to unlock the videos. So it works now 🙂 And by the way: Thank you very much for all the PS Modules / Scripts / Whitepapers you release. They are a huge help!

        Like

  8. Pingback: Pre-Releases & GitHub Actions for Visual Studio Code Extensions – BC365

  9. Hi thank you for this.

    Kindly help, I’m having issue/error creating a new app in AL-GO, I keep getting error that the ID Range is not correct.

    Here is the error I get: CreateApp action failed. Error: IdRange should be formatted as fromId..toId, and the Id range must be in 50000 and 99999 Stacktrace: at Confirm-IdRanges, D:\a\_actions\microsoft\AL-Go-Actions\v2.4\CreateApp\AppHelper.psm1: line 27 at , D:\a\_actions\microsoft\AL-Go-Actions\v2.4\CreateApp\CreateApp.ps1: line 57 at , The ID Range I got from Microsoft has 8 digit range (example: 50000000 – 50000999).

    Please what is the problem and kindly assist on what to do. Thanks.

    Like

    • https://github.com/microsoft/AL-Go/issues is the right location for questions like this.
      Having said that – it sounds like you have used the PTE template instead of the AppSource template for your app, which is the reason for this.
      In the end, you can just create the app with any id range and then modify app.json afterwards. but if your app is an appsource app, then you should start with that template.

      Like

Leave a comment