Secrets in AL-Go for GitHub

This blog post will not reveal any secrets in AL-Go for GitHub:-)

Instead, it will explain ways for you to store secrets, which are used for AL-Go for GitHub. In almost every DevOps setup, you will have to store some keys, passwords, tokens or like. In GitHub, these are called secrets and AL-Go will look for a set of secrets by their name.

This blog post will also touch upon how you can use GitHub organizations and environments with your customer projects.

Continue reading

Deployment strategies and AL-Go for GitHub

When you are done developing your app, it needs to be deployed to your customers if it is a PTE or to AppSource if it is an AppSource app.

Currently we don’t have any automated way of publishing your app to AppSource – that is something we are working on and some day in the future, when it becomes possible, you will get a workflow in AL-Go for GitHub which handles this automatically.

This blog post will talk about PTEs, and what features are available in AL-Go for GitHub to assist you deploying your PTEs to customers.

Continue reading

Branching strategies for your AL-Go for GitHub repo

If you teach yourself to follow a fairly simple set of rules, you will see that the health of your project will increase dramatically, and you will be in a better place with your project development.

So, I will at the ripe age of 56 bestow upon you these 5 rules, which can be applied to any project, using any DevOps setup. In the following I will explain how to implement these rules using AL-Go for GitHub:

  1. Use Pull Requests
  2. Use Code Reviews
  3. Use automated testing
  4. Use Feature branches
  5. Use Releases and release branches

Godspeed!

Continue reading

Structuring your AL-Go for GitHub repositories

When developing apps for Business Central, you very frequently will have more than one app. You might split one customer specific app into multiple smaller apps or you might have a common app, which contains common functionality for all your customer specific or AppSource apps.

This blog post describes the thinking behind AL-Go for GitHub and how we recommend you setup your GitHub repository structure and why…

Continue reading

Migrating to AL-Go for GitHub

As explained in the first blog post about AL-Go for GitHub the next post would be all about how to migrate your repository to AL-Go for GitHub.

Whether you have a setup based on the first CI/CD Hands-On-Lab or you have the latest generation, it should be fairly easy to migrate to AL-Go and get all the benefits with that, but it is a manual process.

The following scenarios are described in this post:

  1. From a CI/CD HOL based repo on GitHub
  2. From a CI/CD HOL based repo on Azure DevOps
  3. From GitHub (if you are “just” using it as a source code repository)
  4. From Azure DevOps (if you are “just” using it as a source code repository)
  5. From nothing (if you just have the source code on your laptop)
  6. From nothing (if you just have some .app files, but not the source code)

Last, but not least there are some common questions you need to consider when using any DevOps setup really.

Continue reading

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.

Continue reading

Managing secrets in your scripts

Most people have tried it. You are writing a script, which connects to a service using a user name and a password or you are using a Shared Access Service token to access insider builds from Microsoft and you just put the “secret” values right there in your source code. After all – it is only you who can access the data on your computer right? and you will of course remember to mask out these secrets if you ever need to share the script…

Well some times we forget and some times hackers to get access to files on your computer and suddenly you might have leaked data or secrets to public places, which you shouldn’t – or sometimes we don’t even realize that we have exposed a secret.

Continue reading

Running tests in Business Central Online Sandbox environments

For quite some time, it has been possible to run automated tests in Docker using the Run-TestsInBcContainer function and it is my strong belief that this is used by a lot of partners today. Since 17.2, the Test Runner is available in Online Business Central Sandbox environments for installation from AppSource. From Extension Marketplace, you can install the Test Runner, open page 130451 and run your test manually. With BcContainerHelper 2.0.4 or later, you can also run tests in online sandbox environments, this blog post explains how.

Continue reading

Publishing apps to a Business Central Online Environment

There are 2 kinds of apps: AppSource Apps and Per Tenant Extensions (PTEs). These apps can be installed in two kinds of environments: Sandbox and Production. In Production, AppSource Apps are installed in the global scope and Per Tenant Extensions are installed in the Tenant Scope. In Sandbox environments you can also install apps to the development scope (like what VS Code does).

This blog post will describe how you can use BcContainerHelper 2.0.2 to install apps in any of those combinations.

Continue reading