Ein Git-Repository kann angebunden werden um Skripte aus Git in YUNA benutzen zu können
Aktuell kann ein einzelnes Git-Repository angebunden werden. Im Scriptmanager werden anschließend alle Dateien zur Auswahl bereitgestellt, deren Dateiname auf ".r", ".R" oder ".py" endet.
Config.yaml
Es ist üblicherweise nicht notwendig die Standardkonfiguration anzupassen.
Parameter | Typ | Default | Beschreibung |
---|---|---|---|
repositoryStorageDirectory | String | "/tmp/eoda/yuna/repositories" | Der Pfad unter dem das Repository abgelegt wird. Wird automatisch angelegt, falls noch nicht vorhanden. |
requestTimeout | Integer | 180 | Die Zeit in Sekunden nach der eine Anfrage von YUNA an Git abgebrochen wird. Dieser Wert sollte nicht über 300 liegen. |
checkoutTimeout | Integer | 600 | Die Zeit in Sekunden nach der das Klonen eines Git Repositories abgebrochen wird. |
de.eoda.dse.portal.gitrepo.provider.GitRepoServiceProvider: { repositoryStorageDirectory: "/tmp/eoda/yuna/repositories", requestTimeout: 180, checkoutTimeout: 600 }
Schritt für Schritt Erklärung:
Bevor in YUNA Skripte aus einem Git-Repository ausgewählt werden können, muss zunächst über die REST-API eine Git-Origin angelegt werden.
Eine Git-Origin ist ein Objekt, das alle nötigen Informationen zur Anbindung eines Git-Repositories an YUNA enhtält.
Git-Origin über REST anlegen
POST | /backend/de.eoda.dse.portal.gitrepo.rest.origin/ |
---|---|
Body | { "name": "testRepo", "pvKey": "-----BEGIN RSA PRIVATE KEY-----\nMyPrivateKey\n-----END RSA PRIVATE KEY-----", "repositoryAdress": "git@gitlab.local.eoda.de:DSE/testrepositoryforjgit.git", "branchReference": "refs/heads/myBranchName", "description": "repository to test with" }
Hinweise zum Private-Key Alle Zeilenumbrüche im Private-Key müssen durch \n ersetzt werden. Der Private-Key muss mit dem Verfahren RSA im PEM Format generiert werden. ssh-keygen -t rsa -m PEM |
Erfolg | Code: 200 Die Git-Origin wurde angelegt |
Fehler | Code: 400 |
Code: 400 | |
Code: 500 Es gab ein Problem bei dem Zugriff auf das Dateisystem |
Ein Skript aus Git in YUNA verwenden
Wurde die Git-Origin korrekt angelegt, können über den Skriptmanager auch Scripte aus Git ausgewählt werden. Sollten wider Erwarten keine Skripte angezeigt werden, liegt dies meistens an einer fehlerhaften Git-Origin.
Hier kann immer die aktuellste Version des jeweiligen Skripts aus Git, sowie ältere Versionen, die zuvor bereits ausgewählt wurden, ausgewählt werden
Git Skripte
Aus Git importierte Skripte sind in YUNA nicht editierbar.
Weitere Endpunkte
Abrufen der Git-Origin
GET | /backend/de.eoda.dse.portal.gitrepo.rest.origin/ |
---|---|
Erfolg | Code: 200 |
Aktualisieren einer Git-Origin
PUT | /backend/de.eoda.dse.portal.gitrepo.rest.origin/{id} |
---|---|
URL-Parameter | id - die ID der Git-Origin die aktualisiert werden soll |
Body | { "name": "updatedTestRepo", "pvKey": "-----BEGIN RSA PRIVATE KEY-----\nMyPrivateKey\n-----END RSA PRIVATE KEY-----", "repositoryAdress": "git@gitlab.local.eoda.de:DSE/testrepositoryforjgit.git", "branchReference": "refs/heads/myBranchName", "description": "repository to test with" }
|
Erfolg | Code: 200 Die Git-Origin wurde aktualisiert |
Fehler | Code: 400 |
Code: 400 Es gab ein Problem mit der Verbindung zum Git-Repository | |
Code: 500 Es gab ein Problem bei dem Zugriff auf das Dateisystem |
Löschen einer Git-Origin
PUT | /backend/de.eoda.dse.portal.gitrepo.rest.origin/{id} |
---|---|
URL-Parameter | id - die ID der Git-Origin die gelöscht werden soll |
Erfolg | Code: 200 Die Git-Origin und das dazugehörige lokale Verzeichnis wurde gelöscht |
Fehler | Code: 400 |
Code: 500 Es gab ein Problem bei dem Zugriff auf das Dateisystem |