SideBar (acadon.development.center)
Die Sidebar ist eine Übersicht aller lokalen Repositories mit nützlichen Features, die einem manuelle Powershell Befehle abnimmt. Wenn die SideBar Anwendung gestartet wurde, kann man sich diese über die folgende Tastenkombination aufrufen und wieder schließen:
Strg + StarGate(^ - Taste)
Voraussetzungen
Die Voraussetzung zum Arbeiten mit der SideBar, wie auch Visual Studio Code, in Kombination mit DevOps, ist Git. Git muss auf dem Rechner installiert sein. Der Download Link dafür befindet sich hier (Git Download).
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
SideBar klonen
Die SideBar befindet sich auf der acadon DevOps Seite unter dem Projekt acadon_devops:DevelopmentBuildAndDeploy
Hier muss die SideBar von dem Repository DevelopmentBuildAndDeploy
heruntergeladen werden.
Hierzu muss die Repo geklont werden. Dies kann man mit Visual Studio Code machen.
Empfehlenswert ist es, die SideBar Repo in dasselbe Verzeichnis abzulegen, wo auch in Zukunft alle Repos von DevOps hinterlegt werden.
Unter dem Pfad ...
.\DevelopmentBuildAndDeploy\Tools\acadon_devolpment.center\Acadon.Development.Center.exe
... befindet sich die .exe
, mit welcher die SideBar gestartet wird. Entweder man legt sich eine Verknüpfung auf den Desktop, oder gleich in den Autostart, um die SideBar unkompliziert zu starten.
SideBar Einrichtung
Damit die SideBar ohne Hindernisse Powershell-Scripte ausführen darf, sollten 3 Powershell Befehle ausgeführt werden:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process -Force Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser -Force Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope LocalMachine -Force
Der nächste Schritt wäre, die setup.json
anzupassen. Diese befindet sich unter:
%appdata% -> .adc Verzeichnis
Wenn das Verzeichnis noch nicht existiert, sollte die SideBar einmal gestartet werden. Sie wird sich im Regelfall wieder schließen, da die setup.json
nicht korrekt eingerichtet ist, jedoch legt er die Datei im Verzeichnis .adc
dann auch ab.
In der setup.json
muss der Parameter RepoPath
angepasst werden. Dies muss der Pfad zum Verzeichnis sein, wo alle DevOps Repos abgespeichert werden, vorzugsweise dasselbe Verzeichnis, wo auch die Sidebar runtergeladen wurde.
Wenn das korrekt eingestellt wurde, sollte sich die SideBar nicht wieder sofort schließen, wenn diese gestartet wird.
Die SideBar sollte beim Öffnen nun wie folgt aussehen:
BUG: Beim erstmaligen Öffnen der SideBar fragt diese nach einem Git User und Git Passwort. Hier trägt man seine Git Anmeldung ein, falls dieses benötigt wird. Hier sollte auch, auch wenn man diese Funktionalität nicht nutzen wird, irgendwas eingegeben, sonst wird einem die Benutzung der SideBar nicht gestattet, das Anmeldungsfenster wird sich immer wieder öffnen. Irgendwas reinschreiben, danach die SideBar komplett schließen und neu starten, damit kommt die Frage nicht mehr wieder.
SideBar ♥ DevOps
Damit die SideBar zugriff auf die Projekte bekommt, muss ein Personal Access Token (PAT)
in der SideBar hinterlegt werden. Wie man an ein PAT kommt, steht in der Hilfe über DevOps.
Mit einem Rechtsklick auf das Symbol auf der Taskleiste kommt man in die Settings
der SideBar.
Unter AzureDevOpsPAT
muss dann der DevOps-Token hinterlegt werden.
SideBar Repos
Unter den Projekten bietet die SideBar über das +
Zeichen das Klonen der Repos in DevOps an. Auf welche Projekte zugegriffen werden, bestimmt das PAT. Es öffnet sich ein Fenster mit den Projekten. Wenn dann eine Repo geklont wird, wird in ihm automatisch ein .adc
Ordner hinterlegt. Ohne diesen inkl. der setup.json
wird die Repo nicht in der SideBar angezeigt.
Mit einem Rechtsklick auf ein Repo erscheinen 3 Optionen:
- Open Folder
- Setup
- User Setup
Unter Setup
befinden sich die wichtigsten Einrichtung zu dem Repo, besonders bezüglich Docker-Container-Images
.
Nummer | Parameter | Beschreibung |
---|---|---|
1 | Name | Name des Repos , welcher in der SideBar angezeigt wird. |
2 | Version | Verion des Repos , wird ebenfalls in der SideBar angezeigt. |
3 | RepoType | Es wird unterschieden zwischen Solution und Customer . |
4 | SolutuionVersionNo | Prefix, welcher beim Versionieren mithilfe eines Codeunits (meist "Nav Version Info") am Objekt verwendet wird. |
5 | ContainerName | Deklariert den Namen des Containers , der erstellt werden soll. |
6 | BaseDockerImage | Beschreibt den Link , über welchen ein bestimmtes Image gezogen wird. |
7 | DockerMode | Unterscheidet zwischen NetDB und ContainerDB , wenn mit Docker gearbeitet wird, muss ContainerDB angegeben sein. |
8 | AzureDevOpsRepoId | Die DevOps ID des Repos . Zur Zeit gibt es keinen einfachen weg, diese ID in DevOps zu finden. Es muss ein Pull Request gestartet werden, und in dem Link der WebSite befindet sich diese ID. Falls jemand rausfindet, wie man eleganter an die ID kommt, bitte an VDE.EDIT1: Unter den Project Settings -> Repositories wählt man ein Repo aus, daraufhin wird die Repo-ID auch im Link mit ausgegeben. |
8.1 | AzureDevOpsProject | Der Name des Projekts in DevOps . |
SideBar Customer Functions
Wenn nun alles Eingerichtet ist, kann es schon losgehen. Die SideBar bietet diverse Funktionalitäten, die einem die Arbeit erleichtern sollen.
Hier werden erstmal nur die wichtigsten Funktionen bezüglich Programmierung in AL erklärt.
Diese Funktionalitäten ändern sich je nachdem welcher RepoType
im Repo setup.json
hinterlegt ist, hier Customer
.
Funktion | Beschreibung |
---|---|
Dev. Client | Öffnet den Dev. Client aus dem Container heraus. Dies gibt es ab BC 150 nicht mehr. |
ToDo | Startet und beendet jeweils Programmierungen, wie auch Reviews. Soll in der AL Entwicklung nicht genutzt werden. |
Git & NAV | Ermöglicht es, Objekte als Text in das Repo zu exportieren, und vice versa. Inwieweit das ab BC150 funktioniert, ist zu klären. |
Docker | Ermöglicht es, Container zu handeln. Erklärung unterhalb. |
DevOps | Ermöglicht es, das Projekt, bzw. einen pull Request schnell in DevOps zu finden. Es öffnet sich die entsprechende WebSite |
Funktion | Docker |
---|---|
Create Container | Erstellt den Container mithilfe des Repo Setups. Wenn das Image nicht lokal vorliegt, wird es automatisch gezogen. Der erstellte Container wird nach abschluss gestartet |
Start Container | Startet den heruntergefahrenen Container |
Stop Container | Stoppt den laufenden Container |
Remove Container | Entfernt den Container(Image bleibt) |
Container PS | Öffnet eine Powershell im Container(äquivalent zu Enter-BCContainer Befehl in PS) |
Eventlog | Zeigt den Eventlog des Containers an. |
Hilfreiche Links:
acadon SideBar Help: