Pagina 1 di 1

Automazione silenziosa di build-upload?

Pubblicato: 17 dicembre 2018 - 16:18
di olaplanche
- Versione WAPT installata: 1.6.2.7
- Sistema operativo del server: Debian Stretch
- Sistema operativo della macchina di amministrazione/creazione pacchetti: Windows 10

Salve,

vorrei sapere se è possibile automatizzare in modo silenzioso la creazione e il caricamento di un pacchetto tramite script.
La mia idea è di automatizzare completamente gli aggiornamenti dei pacchetti, se possibile...

Quando utilizzo il seguente comando: wapt-get.exe build-upload mypackagepath, mi viene richiesta la password della mia chiave privata. Sospetto che questo comportamento sia intenzionale, ma esiste un altro modo per farlo?

Grazie

Re: Automazione silenziosa di build-upload?

Pubblicato: 17 dicembre 2018 - 22:27
di sfontenau
Codice di esempio che modifica un pacchetto, esegue l'aggiornamento del pacchetto e quindi ricostruisce il pacchetto fino alla scadenza VALIDITY-WAIT

Codice: Seleziona tutto

# -*- 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')

Re: Automazione silenziosa di build-upload?

Pubblicato: 18 dicembre 2018 - 11:48
di olaplanche
Vorrei commentare il codice per assicurarmi di averlo capito correttamente:

Codice: Seleziona tutto

# -*- 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')
Se non sbaglio, è necessario aggiungere la funzione update_package al pacchetto desiderato, quindi salvare lo script Python personalizzato di cui sopra per il pacchetto desiderato ed eseguirlo in un'attività pianificata, ad esempio?!

GRAZIE

Re: Automazione silenziosa di build-upload?

Pubblicato: 18 dicembre 2018 - 13:38
di sfontenau
Questo è tutto

Re: Automazione silenziosa di build-upload?

Pubblicato: 19 dicembre 2018 - 14:54
di olaplanche
Buongiorno,

Quando eseguo il mio script Python ricevo il seguente errore:

Codice: Seleziona tutto

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
Lo sto eseguendo come amministratore, ma sembra che non riesca a decomprimere il pacchetto...

Avete qualche idea?

Modifica: in realtà non scarica affatto il pacchetto e non riesco ad accedervi tramite la console quando clicco su "modifica pacchetto"...

GRAZIE

Re: Automazione silenziosa di build-upload?

Pubblicato: 22 dicembre 2018 - 11:34
di sfontenau
Esiste waptdev?

Re: Automazione silenziosa di build-upload?

Pubblicato: 8 gennaio 2019 - 09:17
di olaplanche
Ciao,

sì, la cartella c:\waptdev esiste.

PS: Auguro a tutto il team un felicissimo 2019 e vi ringrazio ancora per questo fantastico strumento!

Re: Automazione silenziosa di build-upload?

Pubblicato: 15 gennaio 2019 - 14:42
di olaplanche
Ho appena rivisto questo problema e non riesco a riprodurre l'errore menzionato in precedenza...
Invece, sto notando un nuovo, strano comportamento:

nella mia cartella waptdev, la cartella del mio pacchetto si chiama "wapt-wAdministratif-wapt", e il nome del pacchetto nel suo file di controllo e nella console è "wapt-wAdministratif". Quando eseguo lo script Python di cui sopra, la cartella wapt-wAdministratif viene creata nella mia cartella waptdev...
ok, questo ha senso, questo lo capisco. Attualmente, lo script si blocca sulla funzione di aggiornamento del pacchetto.
La cosa più strana è che quando modifico il mio pacchetto c:\waptdev\wapt-wAdministratif-wapt (per modificare la funzione di aggiornamento, ad esempio) e poi eseguo un build-upload, il mio pacchetto viene generato e caricato correttamente sul server. Ho eliminato quello vecchio dalla console e ho eseguito di nuovo lo script Python di cui sopra. Il pacchetto wapt-wAdministratif è stato scaricato nella cartella c:\waptdev\wapt-wAdministratif, ma il contenuto non corrisponde all'ultima versione del pacchetto che ho modificato, generato e caricato in precedenza. Sembra che sul server sia presente una sola versione del pacchetto, quindi non capisco come sia possibile.

Continuerò a cercare, ma se qualcuno ha qualche idea, per favore me lo faccia sapere!

Grazie