Seite 1 von 1
Stille Build-Upload-Automatisierung?
Veröffentlicht: 17. Dez. 2018 - 16:18 Uhr
von olaplanche
- Installierte WAPT-Version: 1.6.2.7
- Server-Betriebssystem: Debian Stretch
- Betriebssystem des Administrations-/Paketerstellungsrechners: Windows 10
Hallo,
ich möchte gerne wissen, ob es möglich ist, die Erstellung und den Upload eines Pakets im Hintergrund per Skript zu automatisieren.
Mein Ziel ist es, Paketaktualisierungen möglichst vollständig zu automatisieren.
Wenn ich den folgenden Befehl verwende: `wapt-get.exe build-upload meinpaketpfad`, werde ich nach dem Passwort für meinen privaten Schlüssel gefragt. Ich vermute, dass dies so beabsichtigt ist, aber gibt es eine andere Möglichkeit?
Vielen Dank.
Betreff: Stille Build-Upload-Automatisierung?
Veröffentlicht: 17. Dez. 2018 - 22:27 Uhr
von Sfonteneau
Beispielcode, der ein Paket bearbeitet, das Paketupdate durchführt und das Paket anschließend bis zur Gültigkeitsdauer neu erstellt (VALIDITY-WAIT).
Code: Alle auswählen
# -*- coding: utf-8 -*-
from setuphelpers import *
from waptpackage import *
from common import *
devrep = makepath('c:','waptdev')
packagename='smp-firefox-esr'
repcomplet=makepath(devrep,packagename)
myWapt = Wapt(config_filename=makepath(r'C:\Users\Administrateur\AppData\Local\waptconsole\waptconsole.ini'))
if isdir(repcomplet):
remove_tree(repcomplet)
myWapt.edit_package(packagename,target_directory=repcomplet)
thepackage = PackageEntry(waptfile=repcomplet)
thepackage.call_setup_hook('update_package',wapt_context=myWapt)
myWapt.build_upload(repcomplet,private_key_passwd=ur'passwordkey',wapt_server_user='admin',wapt_server_passwd=ur'passwordserver',set_maturity='VALIDITY-WAIT')
Betreff: Stille Build-Upload-Automatisierung?
Veröffentlicht: 18. Dez. 2018 - 11:48 Uhr
von olaplanche
Ich möchte den Code kommentieren, um sicherzustellen, dass ich ihn richtig verstanden habe:
Code: Alle auswählen
# -*- coding: utf-8 -*-
from setuphelpers import *
from waptpackage import *
from common import *
# Défini la variable devrep avec le chemin "c:\waptdev"
devrep = makepath('c:','waptdev')
# Défini la variable packagname avec le nom du paquet "smp-firefox-esr"
packagename='smp-firefox-esr'
# Défini la variable repcomplet avec la concaténation des variables devrep et packagename
repcomplet=makepath(devrep,packagename)
# Défini la variable myWapt avec le chemin du fichier de conf local de ma console
myWapt = Wapt(config_filename=makepath(r'C:\Users\Administrateur\AppData\Local\waptconsole\waptconsole.ini'))
# Supprimer le dossier local du package si il existe
if isdir(repcomplet):
remove_tree(repcomplet)
# Télécharger et extraire le package depuis le repository wapt dans le dossier "repcomlet"
myWapt.edit_package(packagename,target_directory=repcomplet)
# Défini la variable thepackage avec les infos récupérées depuis le dossier local du package
thepackage = PackageEntry(waptfile=repcomplet)
# Appel de la fonction update_package du paquet en question
thepackage.call_setup_hook('update_package',wapt_context=myWapt)
# build et upload du paquet mis à jour sur le repository wapt
myWapt.build_upload(repcomplet,private_key_passwd=ur'passwordkey',wapt_server_user='admin',wapt_server_passwd=ur'passwordserver',set_maturity='VALIDITY-WAIT')
Wenn ich mich nicht irre, müssen Sie dann die update_package-Funktion zum gewünschten Paket hinzufügen und anschließend das oben angepasste Python-Skript für das gewünschte Paket speichern und es beispielsweise in einer geplanten Aufgabe ausführen?!
DANKE
Betreff: Stille Build-Upload-Automatisierung?
Veröffentlicht: 18. Dez. 2018 - 13:38 Uhr
von Sfonteneau
Das war’s.
Betreff: Stille Build-Upload-Automatisierung?
Veröffentlicht: 19. Dez. 2018 - 14:54 Uhr
von olaplanche
Guten Morgen,
Beim Ausführen meines Python-Skripts erhalte ich folgenden Fehler:
Code: Alle auswählen
wapt-wAdministratif_8.4-64_all.wapt[================================] 26555304/26555304 - 00:00:00
No handlers could be found for logger "root"
Traceback (most recent call last):
File "e:\update_package_wapt-wAdministratif.py", line 23, in <module>
myWapt.edit_package(packagename,target_directory=repcomplet)
File "C:\wapt\common.py", line 6228, in edit_package
raise Exception(u'Unable to unzip package in %s' % target_directory)
Exception: Unable to unzip package in c:\waptdev\wapt-wAdministratif
Ich führe es als Administrator aus, aber es scheint, als könne es das Paket nicht entpacken...
Irgendwelche Ideen?
Nachtrag: Tatsächlich wird das Paket überhaupt nicht heruntergeladen, und ich kann auch über die Konsole nicht darauf zugreifen, wenn ich auf „Paket bearbeiten“ klicke…
DANKE
Betreff: Stille Build-Upload-Automatisierung?
Veröffentlicht: 22. Dez. 2018 - 11:34 Uhr
von Sfonteneau
Gibt es waptdev?
Betreff: Stille Build-Upload-Automatisierung?
Veröffentlicht: 8. Januar 2019 - 9:17 Uhr
von olaplanche
Hallo,
ja, der Ordner c:\waptdev existiert.
PS: Ich wünsche dem gesamten Team ein frohes neues Jahr 2019 und bedanke mich nochmals herzlich für dieses fantastische Tool!
Betreff: Stille Build-Upload-Automatisierung?
Veröffentlicht: 15. Januar 2019 – 14:42 Uhr
von olaplanche
Ich habe mir das Problem noch einmal angesehen und kann den zuvor erwähnten Fehler nicht reproduzieren.
Stattdessen beobachte ich ein neues, seltsames Verhalten:
In meinem waptdev-Ordner heißt mein Paketordner „wapt-wAdministratif-wapt“, während der Paketname in der Kontrolldatei und in der Konsole „wapt-wAdministratif“ lautet. Wenn ich das obige Python-Skript ausführe, wird der Ordner „wapt-wAdministratif“ in meinem waptdev-Ordner erstellt.
Okay, das ist logisch. Aktuell stürzt das Skript bei der Aktualisierungsfunktion des Pakets ab.
Das Merkwürdigste ist, dass mein Paket erfolgreich generiert und auf den Server hochgeladen wird, wenn ich es unter c:\waptdev\wapt-wAdministratif-wapt bearbeite (z. B. um die Aktualisierungsfunktion anzupassen) und anschließend einen Build-Upload durchführe. Ich habe das alte Paket aus der Konsole gelöscht und das obige Python-Skript erneut ausgeführt. Das Paket wapt-wAdministratif wurde in den Ordner c:\waptdev\wapt-wAdministratif heruntergeladen, aber der Inhalt stimmt nicht mit der neuesten Version des Pakets überein, die ich zuvor bearbeitet, generiert und hochgeladen habe. Anscheinend befindet sich nur eine Version des Pakets auf dem Server, daher verstehe ich nicht, wie das möglich ist.
Ich suche weiter, aber falls jemand eine Idee hat, bitte ich um Hilfe!
Danke