Página 1 de 1

¿Automatización de carga y compilación silenciosa?

Publicado: 17 de diciembre de 2018 - 16:18
por olaplanche
- Versión de WAPT instalada: 1.6.2.7
- Sistema operativo del servidor: Debian Stretch
- Sistema operativo de la máquina de administración/creación de paquetes: Windows 10

Hola,

me gustaría saber si es posible automatizar la creación y carga de un paquete mediante un script.
Mi idea es automatizar completamente las actualizaciones de paquetes, si es posible.

Cuando uso el comando `wapt-get.exe build-upload mypackagepath`, me pide la contraseña de mi clave privada. Sospecho que este comportamiento es intencional, pero ¿hay alguna otra forma de hacerlo?

Gracias.

Re: ¿Automatización de carga y compilación silenciosa?

Publicado: 17 de diciembre de 2018 - 22:27
por sfonteneau
Ejemplo de código que edita un paquete, realiza la actualización del paquete y luego lo reconstruye hasta alcanzar la madurez VALIDITY-WAIT

Código: Seleccionar todo

# -*- 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: ¿Automatización de carga y compilación silenciosa?

Publicado: 18 de diciembre de 2018 - 11:48
por olaplanche
Me gustaría comentar el código para asegurarme de que lo he entendido correctamente:

Código: Seleccionar todo

# -*- 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')
Si no me equivoco, entonces hay que añadir la función update_package al paquete deseado y luego guardar el script de Python personalizado mencionado anteriormente para el paquete deseado y ejecutarlo en una tarea programada, por ejemplo?

GRACIAS

Re: ¿Automatización de carga y compilación silenciosa?

Publicado: 18 de diciembre de 2018 - 13:38
por sfonteneau
Eso es todo

Re: ¿Automatización de carga y compilación silenciosa?

Publicado: 19 de diciembre de 2018 - 14:54
por olaplanche
Buen día,

Al ejecutar mi script de Python, obtengo el siguiente error:

Código: Seleccionar todo

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 estoy ejecutando como administrador, pero parece que no puede descomprimir el paquete...

¿Alguna idea?

Edito: En realidad, no se está descargando el paquete en absoluto, y tampoco puedo acceder a él a través de la consola cuando hago clic en "editar paquete"...

GRACIAS

Re: ¿Automatización de carga y compilación silenciosa?

Publicado: 22 de diciembre de 2018 - 11:34
por sfonteneau
¿Existe waptdev?

Re: ¿Automatización de carga y compilación silenciosa?

Publicado: 8 de enero de 2019 - 9:17 a. m.
por olaplanche
Hola,

sí, la carpeta c:\waptdev existe.

PD: ¡Les deseo a todo el equipo un muy feliz 2019 y les agradezco nuevamente por esta fabulosa herramienta!

Re: ¿Automatización de carga y compilación silenciosa?

Publicado: 15 de enero de 2019 - 14:42
por olaplanche
Acabo de revisar este problema y no puedo reproducir el error mencionado anteriormente...
En cambio, estoy viendo un comportamiento nuevo y extraño:

En mi carpeta waptdev, mi carpeta de paquete se llama "wapt-wAdministratif-wapt", y el nombre del paquete en su archivo de control y en la consola es "wapt-wAdministratif". Cuando ejecuto el script de Python anterior, la carpeta wapt-wAdministratif se crea en mi carpeta waptdev...
bien, eso tiene sentido, lo entiendo. Actualmente, el script falla en la función de actualización del paquete.
Lo más extraño es que cuando edito mi paquete c:\waptdev\wapt-wAdministratif-wapt (para editar la función de actualización, por ejemplo) y luego ejecuto un build-upload, mi paquete se genera correctamente y se sube al servidor. Borré el anterior de la consola y volví a ejecutar el script de Python anterior. Se descargó el paquete wapt-wAdministratif en la carpeta c:\waptdev\wapt-wAdministratif, pero su contenido no coincide con la última versión que edité, generé y subí previamente. Parece que solo tengo una versión del paquete en el servidor, así que no entiendo cómo es posible.

Seguiré investigando, pero si alguien tiene alguna idea, ¡por favor, que me lo diga!

Gracias