L’Autoservei de pipelines permet la generació automàtica de pipelines d’automatització de la construcció i del desplegament de les aplicacions sense, en molts casos, la intervenció de l’equip del SIC. D’aquesta manera, els equips de cada codi d’aplicació són autònoms per a preparar i mantenir la construcció de la pipeline de desplegament associada a cada projecte repositat al Sistema de Custòdia de Codi (Gitlab).
A continuació, entrarem en més detall sobre com funciona aquest nou servei que ofereix el SIC.
Cobreix les següents necessitats:
La solució ha de:
S’estableixen una sèrie de requeriments per a estar en disposició d’integrar l’aplicació mitjançant aquest servei:
Generalment, a cada codi d’aplicació li correspon un proveïdor d’aplicacions i un proveïdor d’infraestructures. Aquests dos equips han de participar i col·laborar per tal d’utilitzar l’autoservei de pipelines del SIC aportant la informació necessària de la qual cadascun és responsable.
El funcionament previst és el següent:
Un cop generades les pipelines, qualsevol canvi que es realitzi en aquests arxius de configuració aplicarà a les futures execucions sense necessitat de fer cap mena de regeneració de pipelines. Només serà necessari dita regeneració, si es tracta d’un canvi organitzatiu o de proveïdor d’infraestructures i/o plataforma cloud.
Pel que fa a l’Arxiu de Configuració de l’Aplicació (ACA), la informació quedarà recollida a l’arxiu /sic/aca.yml
dins del repositori del projecte.
Es tracta d’un arxiu requerit per Autoservei de Pipelines, en format YAML, en el que s’ha d’aportar la següent informació:
Version: versió de l’arxiu (independent de la versió de l’aplicació o component) que es correspondrà amb els canvis en les especificacions de construcció i/o desplegament.
Info: informació sobre l’aplicació o component, incloent-hi la seva versió funcional i una descripció.
Global-env: llistat de variables globals necessàries per al desplegament de l’aplicació o component.
Components: informació per a la construcció, publicació i desplegament de l’aplicació o component
Notifications: definició d’adreces de correu electrònic on es notificarà la necessitat d’accions manuals i/o resultats de l’execució.
Per a més informació: Com construir el fitxer ACA
L’equip de SIC, mitjançant aquest servei, s’encarregarà de generar automàticament totes les pipelines necessàries, tant per al desplegament del component o aplicació com
altres pipelines per a dur a terme les operacions necessàries sobre plataformes cloud. Aquestes pipelines operatives s’aprovisionaran dins d’un directori diferenciat
/Advanced
dins del directori de tasques Jenkins associat al projecte i seran les següents:
DEPLOY-START: permet iniciar el servei.
DEPLOY-STOP: permet aturar el servei.
DEPLOY-RESTART: permet aturar i tornar a iniciar el servei.
DEPLOY-DESCRIPTORS: permet desplegar canvis en els descriptors (noves variables d’entorn, canvis en la configuració i altres) sense fer la construcció i desplegament de la imatge.
DELETE-DESCRIPTORS: permet revertir el desplegament de descriptors (variables d’entorn, configuració i altres) habilitant una selecció d’entorn i de fitxer/s descriptor/s sobre el/s qual/s actuar (incloent-hi l’opció per a poder actuar sobre tots ells).
DEPLOY-ALL: permet fer un desplegament complet davant canvis en l’aplicació, orquestradors i/o descriptors.
DEPLOY-TAG: permet redesplegar un determinat tag de la imatge de l’aplicació que s’hagi desplegat amb èxit a producció
(x.y.z-PR
, x.y.z-production
) concebuda per a poder fer un rollback a una versió anterior.
Per altra banda, cal comentar que es generaran les pipelines internes dedicades a certes tasques comunes i que seran executades per la pipeline principal. Aquestes pipelines no seran visibles per l’usuari i són les següents:
DEPLOYER: s’encarrega del desplegament de l’aplicació als diferents entorns de rebuda. Serà invocada per la pipeline principal per al desplegament de cada component a cada un dels entorns.
CLEANER: s’encarrega de l’esborrat d’espais de treball. Serà invocada per la pipeline principal en finalitzar.
L’equip de SIC, mitjançant aquest servei, s’encarregarà de generar automàticament totes les pipelines necessàries, tant per a la publicació d’APIS com
altres pipelines per a gestionar el seu cicle de vida a l’API Manager corporatiu. En aquest segon cas, les pipelines
s’aprovisionaran dins d’un directori diferenciat /Advanced
dins del directori de tasques Jenkins associat al projecte:
Veure: Matriu de tecnologies
Si voleu més informació podeu consultar la secció de Guies.
Si teniu qualsevol dubte o problema podeu revisar les Preguntes Freqüents o utilitzar els canals de Suport.