Eintrag

Die AL-Go-Einstellung artifact: jede Kombination, die funktioniert (und ein paar, die es nicht tun)

Ein Kochbuch für die AL-Go-Einstellung artifact, gruppiert nach Ziel, mit der Business-Central-Version, auf die jede Angabe tatsächlich auflöst.

Die AL-Go-Einstellung artifact: jede Kombination, die funktioniert (und ein paar, die es nicht tun)

🇬🇧 English version

Die Einstellung artifact legt fest, gegen welche Business-Central-Version AL-Go deine Apps baut und testet. Sie steht in den AL-Go-Einstellungen, meist in .AL-Go/settings.json:

1
2
3
4
{
  "country": "de",
  "artifact": "//28.5/de/latest"
}

Ein Wert besteht aus fünf Teilen, und jeder Teil darf leer bleiben:

1
<storageAccount>/<type>/<version>/<country>/<select>
TeilWenn leer
storageAccountbcartifacts (veröffentlichte Versionen)
typeSandbox
versionbeliebige Version
countrydie Einstellung country (Standard us)
selectlatest

Deshalb sind Werte wie ////nextmajor gültig.

Das Land bestimmt nur die Lokalisierung, nicht die Version: w1, de, us und dk haben exakt dieselben Build-Nummern. w1 ist die weltweite Basisversion ohne länderspezifische Funktionen; die Länderversionen bauen darauf auf.

Alle Ergebnisse unten wurden am 14. Oktober 2026 ermittelt, zwei Wochen nach dem Release von 29.0.

Immer das aktuelle Release

EinstellungErgebnis 
(nicht gesetzt)29.0.54011.56330neueste Sandbox für dein country
///w1/latest29.0.54011.56330dasselbe, explizit
///de/daily29.0.54011.56262neuester Build vor heute
///us/weekly29.0.54011.56119neuester Build vor letztem Sonntag
///dk/current29.0.54011.56330wie latest

Alle diese Werte springen am Tag des Releases auf die neue Major-Version. daily und weekly sorgen nur dafür, dass sich das Artefakt seltener ändert und Caches gültig bleiben. Eine Version legen sie nicht fest.

Eine Version festlegen

EinstellungErgebnis 
//28/w1/latest28.5.54151.56322neuester Build von Major 28
//28/de/first28.0.46665.52632ältester Build von Major 28
//28.5/us/latest28.5.54151.56322neuester Build von 28.5
//28.5/dk/first28.5.54151.54178ältester Build von 28.5
//28.5.54151.56322/w128.5.54151.56322genau dieser Build
//28.5.54151.0/de/closest28.5.54151.54178erster Build ≥ der angegebenen Version innerhalb von 28.5, sonst der neueste 28.5
///us/secondtolastmajor28.5.54151.56322neuester Build der vorherigen Major-Version
///dk/first15.4.41023.43755ältestes verfügbares Sandbox-Artefakt
  • Die Version ist ein Präfix: 28 trifft alle 28.x, 28.1 trifft 28.1, aber nicht 28.10.
  • Ältere Minor-Versionen bekommen weiter Builds. 28.5 hat zwei Wochen nach dem Release von 29.0 noch einen neuen bekommen, //28.5/…/latest liefert also immer den aktuellen Hotfix-Stand.
  • Bis Major 25 bleibt pro Minor nur ein Build erhalten. Eine fest eingetragene Build-Nummer kann also verschwinden.

Die Version aus der App ableiten

Mit * als Version richtet sich AL-Go nach deiner applicationDependency: der höchsten application-Version aus deinen app.json-Dateien, mindestens aber der AL-Go-Einstellung applicationDependency (Standard 18.0.0.0).

Einstellungapp.json applicationErgebnis 
//*/w1/first28.0.0.028.0.46665.52632ältester Build, der zu deiner App passt
//*/de/latest28.0.0.028.0.46665.56311neuester Build von 28.0, nicht 28.5
//*/us/latest28.5.0.028.5.54151.56322neuester Build von 28.5
(nicht gesetzt) + "updateDependencies": true28.0.0.028.0.46665.52632ältester Build ≥ der Mindestversion deiner App, notfalls aus den Insider-Builds

* bleibt innerhalb der Major.Minor-Version deiner applicationDependency und funktioniert nur mit first oder latest.

Das nächste Release testen

EinstellungErgebnis 
////nextminor29.1.56191.0nächste Minor-Version (Insider-Build)
////nextmajor30.0.56306.0nächste Major-Version (Insider-Build)
///dk/nextmajor30.0.56306.0dasselbe, mit Land
bcinsider/Sandbox/30.0/de/latest30.0.56306.0eine bestimmte Insider-Version
  • nextminor und nextmajor lesen aus dem Storage Account bcinsider. Die Insider-EULA akzeptiert AL-Go für dich.
  • Ab Minor .5 liefert nextminor die nächste Major-Version, weil es für Sandboxes kein .6 gibt.
  • nextmajor bleibt leer, bis Microsoft den ersten Insider-Build der nächsten Major-Version veröffentlicht.
  • Die PTE-Vorlage bringt .github/Test Next Minor.settings.json und .github/Test Next Major.settings.json mit, die genau diese Werte für die passenden Workflows setzen. Workflow-spezifische Einstellungsdateien überschreiben die Projekteinstellungen.

On-Premises

EinstellungErgebnis 
/OnPrem//w1/latest29.0.54011.55407neuestes On-Premises-Release
/OnPrem/28/de/latest28.6.55443.0neuestes kumulatives Update von 28
/OnPrem//dk/weekly29.0.54011.55407daily/weekly werden wie latest behandelt
/OnPrem//dech/latest14.53.50097.0deutschsprachige Schweiz, endet mit 14
  • On-Premises hat genau einen Build pro kumulativem Update, und die Minor-Versionen reichen bis .6.
  • Die Sprachvarianten dech, frbe, frca, frch, itch und nlbe gibt es nur On-Premises und nur bis 14. na endet mit 16.
  • us hat deutlich weniger On-Premises-Builds als w1. Alles vor 11 und die Major-Versionen 13, 15 und 16 fehlen, deshalb findet /OnPrem/16/us/latest nichts, während /OnPrem/16/w1/latest 16.19.35126.0 liefert.

Funktioniert nicht

EinstellungFehler
//28.5/w1/weeklyYou cannot specify version, before or after when selecting Daily or Weekly build
bcinsider///de/nextmajorYou cannot specify storageAccount, type=OnPrem or version when selecting NextMajor release
//*/us/closestVersion can only be '*' if select is first or latest.
//28.5/dk/closestVersion number must be in the format 1.2.3.4 when you want to get the closest artifact Url
/OnPrem/16/us/latestNo artifacts found for the artifact setting
bcpublicpreview/Sandbox//w1/latestder Storage Account ist derzeit leer

daily und weekly lassen sich nicht mit einer Version kombinieren. Wer auf einem älteren Release bleiben will, nimmt stattdessen latest mit Version.

Referenz

Storage Accounts

WertInhalt
(leer), bcartifactsveröffentlichte Versionen, Sandbox und On-Premises
bcinsiderVorabversionen, nur Sandbox
bcpublicpreviewderzeit nichts

Typen: Sandbox, OnPrem

Länder

TypLänder
Sandboxat, au, be, bg, br, ca, ch, co, cz, de, dk, ee, es, fi, fr, gb, gr, hk, hr, hu, ie, in, is, it, jp, kr, lt, lv, mx, nl, no, nz, pe, ph, pl, pt, ro, rs, se, si, sk, th, tr, tw, ua, us, vn, w1
On-Premisesat, au, be, ca, ch, cz, de, dk, es, fi, fr, gb, in, is, it, mx, nl, no, nz, ru, se, us, w1; bis 16: na; bis 14: dech, frbe, frca, frch, itch, nlbe

Bei Sandboxes werden Länder ohne eigene Lokalisierung automatisch umgesetzt, zum Beispiel ae, lu oder my auf w1 und fo oder gl auf dk.

Select

WertLiefertEinschränkungen
latestneuester TrefferStandard
firstältester Treffer 
allalle Treffer, AL-Go nimmt den ersten 
closesterster Build ≥ Version innerhalb ihrer Major.MinorVersion muss x.x.x.x sein
secondtolastmajorneuester Build der vorherigen Major-Versionkeine Version
currentaktuelles Sandbox-Releasekein Storage Account, keine Version, kein OnPrem
nextminorInsider-Build der nächsten Minor-Versionkein Storage Account, keine Version, kein OnPrem
nextmajorInsider-Build der nächsten Major-Versionkein Storage Account, keine Version, kein OnPrem
dailyneuester Build vor heutekeine Version; bei OnPrem wie latest
weeklyneuester Build vor letztem Sonntagkeine Version; bei OnPrem wie latest

Statt einer Suchangabe akzeptiert artifact auch eine vollständige Artefakt-URL, die mit https:// beginnt.

Dieser Eintrag ist vom Autor unter CC BY 4.0 lizensiert.