Smart Update funktioniert nicht

Moin,

Ich habe ein Klon von der Smart Update Pipeline erstellt für Google Chrome, danach das Paket ausgewählt und der Pipeline hinzugefügt, die GUID steht bei variablen auch korrekt drin. Starte ich die Pipeline bekomme ich ein Fehler das die GUID aus 32 Zeichen bestehen soll. Nun bin ich überfragt…

09.01.2024 15:39:40
>
[Variable] <Run.Id>: d57cfa67-8577-4068-98f9-a868c5e4378e
09.01.2024 15:39:40
>
[Variable] <Run.WorkingDirectory>: C:\neo42\APC\PipelineAgent\Work\d57cfa67-8577-4068-98f9-a868c5e4378e
09.01.2024 15:39:40
>
Phase 'Smart Update - Google Chrome' wurde gestartet.
09.01.2024 15:39:40
>
Task 'Smart Update' wurde gestartet.
09.01.2024 15:39:40
>
Der folgende unbekannte Fehler trat bei der Task 'SmartUpdateTaskV01': System.FormatException: GUID muss 32 Ziffern mit 4 Bindestrichen enthalten (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). bei System.Guid.GuidResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument, String failureArgumentName, Exception innerException) bei System.Guid.TryParseGuidWithNoStyle(String guidString, GuidResult& result) bei System.Guid.TryParseGuid(String g, GuidStyles flags, GuidResult& result) bei System.Guid.Parse(String input) bei Neo42.ServicePortalClient.Microservice.DataAccess.Pipeline.Tasks.SmartUpdate.SmartUpdateTaskV01.<ExecuteAsync>d__3.MoveNext() --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde --- bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) bei System.Runtime.CompilerServices.TaskAwaiter.GetResult() bei Neo42.MMS.Shared.Pipeline.PipelineTaskBase`1.<ExecuteAsync>d__5.MoveNext()
09.01.2024 15:39:40
>
Task 'Smart Update' wurde beendet.
09.01.2024 15:39:40
>
Task 'Lauf bereinigen' wurde gestartet.
09.01.2024 15:39:40
>
[Parameter] CleanupRunWorkDir: C:\neo42\APC\PipelineAgent\Work\d57cfa67-8577-4068-98f9-a868c5e4378e
09.01.2024 15:39:40
>
Lauf wurde erfolgreich bereinigt.
09.01.2024 15:39:40
>
Task 'Lauf bereinigen' wurde beendet.
09.01.2024 15:39:40
>
Phase 'Smart Update - Google Chrome' wurde beendet.

Grüße
Nico

Moin Nico,

die Fehlermeldung tritt nur dann auf, wenn im Smart Update Task keine GUID ankommt. Hier ist also irgendwo bei der Anpassung etwas schief gegangen. Wir werden in der nächsten Version die Fehlermeldung im Protokoll noch etwas sprechender machen.

Generell gilt, dass die vordefinierten Pipelines für die Nutzung aus den Oberflächen optimiert sind. Hier sind die detaillierten Schritte, die nach dem Klonen einer Pipeline erforderlich sind, um sie für ein spezifisches Produkt anzupassen:

  • Automatisch mit der Bridge erstellte „Smart Update für xxx …“ Pipeline klonen
  • Pipeline editieren
  • Im Pipeline Editor auf Variablen wechseln
  • Die Variable <Phase.SmartUpdatePackageGuid> anklicken und bearbeiten
  • Für Google Chrome die ID {042D3E34-AEA8-4B16-A8F8-6AA9A1ABB0FA} eintragen und die Variable speichern
  • Tipp: Die PackageGUID kann der neo42PackageConfig.json eines zuvor heruntergeladenen Pakets entnommen werden.
  • Nun muss die Variable <Phase.SmartUpdateProductMajorVersion> noch angepasst werden. Entweder hier den Wert entfernen oder eine z.b. 120 eintragen

Das ganze sieht bei mir dann so aus:

Und konnte auch direkt aktualisieren:

Sollte es so nicht klappen, dann bitte einfach eine Supportanfrage an neosupport@neo42.de stellen.

Gruß
Marco

PS: Unabhängig vom Fehler würde ich trotzdem nicht empfehlen pro Produkt eine Pipeline für Smart Update anzulegen. Besser wäre es direkt eine Produktautomatisierung zu erstellen - so können verschiedene Produkte mit einer Pipeline aktualisiert werden. Eine Anleitung dafür haben wir auf YouTube bereitgestellt.

2 „Gefällt mir“

Moin,

danke für die Antworten und ich habe es exakt so gemacht wie im Youtube Video und mich gewundert warum es nicht geht. Das ich nicht für jede Anwendung eine Pipeline anlege war auch nicht so geplant, ich wollte das erst einmal testen da ich AutoPackageRelease ablösen wollte.
Warum es nicht geht liegt aber eher daran das Chrome schon auf dem neusten Stand ist, ich habe das mal mit einer anderen Anwendung probiert und das funktionierte problemlos. Leider ist die Fehlermeldung tatsächlich etwas verwirrend.

Der Thread kann geschlossen werden, es funktioniert alles wie es soll.

Grüße
Nico