Acest plugin va permite sa distingeti versiunile bune de versiunile proaste prin introducerea notiunii de „promovare”. Pur si simplu, o versiune promovata este o versiune de succes care a trecut criterii suplimentare (cum ar fi teste mai cuprinzatoare care sunt configurate ca joburi din aval.) situatia tipica in care utilizati promovarea este in cazul in care aveti mai multe joburi „test” conectate ca joburi din aval pentru un job „build”. Apoi veti configura lucrarea de constructie astfel incat construirea sa fie promovata atunci cand toate lucrarile de testare au trecut cu succes. Acest lucru va permite sa mentineti rapid executarea lucrarii de constructie (astfel incat dezvoltatorii sa primeasca feedback mai rapid atunci cand o

constructie esueaza) si puteti distinge in continuare constructiile care sunt bune de compilarile care au compilat, dar au avut probleme cu timpul de executie.

O alta varianta a acestei utilizari este promovarea manuala a build-urilor (bazate pe instinct sau altceva care ruleaza in afara Jenkins.) Build-urile promovate vor primi o stea in vizualizarea istoricului de constructii si pot fi apoi preluate de alte echipe, distribuite in stadializare , etc., deoarece aceste versiuni au trecut criterii de calitate suplimentare. In scenarii mai complicate, se pot configura mai multe niveluri de promotii. Acest lucru se potriveste frumos intr-un mediu in care exista mai multe etape ale testarilor (de exemplu, testarea QA, testarea acceptarii, etapizarea si productia).

Cand o constructie este promovata, puteti face ca Jenkins sa efectueze unele actiuni (cum ar fi rularea unui script shell, declansarea altor lucrari etc. – sau in limbajul Jenkins, puteti rula pasi de constructie.) Acest lucru este util, de exemplu, pentru a copia construirea promovata in alta parte, implementati-l pe serverul dvs. QA. Puteti, de asemenea, sa-l definiti ca un job separat si apoi sa solicitati actiunii de promovare acel job.

Nu va bazati pe fisiere din spatiul de lucru Actiunea de promovare foloseste spatiul de lucru al jobului ca director curent (si, ca atare, executarea actiunii de promovare se exclude reciproc de la orice constructii in curs ale jobului.) Dar pana la momentul promovarii ruleaza, acest spatiu de lucru poate contine fisiere din compilari care nu au nicio legatura cu construirea promovata.

Pentru a accesa artefactele, utilizati Copy Artifact Plugin si alegeti legatura permanenta.

Pentru a utiliza acest plugin, cautati caseta de selectare „Promovati compilarile cand …

chicas corriendose comiendo tetas
superculos maduras comiendose el coño
follando en un crucero monjas folladoras
videos xxxxx enanas tetonas
padre se folla a su hija sexo videos caseros
viejas zoofilia porno hat
milfs españolas padre enseña a follar a su hija
viejas en orgias travestis jovencitas
mi vecina desnuda vidio xxxx
porno abuelas orgasmos extremos
porno agresivo me corro sin avisar
sara rossi fakings trio en la playa
se la chupa mientras duerme cincuentona española follando
porno gay violado heidi porno
videos porno manga desvirga a su hermana
chicas masturbando a chicos colegialas anal
incestos madres hijos trio casero español
chicos guapos desnudos porno amas de casa
porno tens follando despues de la fiesta
tias putas follando cincuentonas

”, pe pagina de configurare a jobului. Definiti unul sau o serie de procese de promovare pentru locul de munca.

Cum ati putea folosi versiunile promovate in mediul dvs.? Iata cateva cazuri de utilizare.

Depozitarea artefactelor – este posibil sa nu doriti sa impingeti un artefact in depozitul principal de artefacte pe fiecare constructie. Cu promotiile de constructie, puteti impinge numai atunci cand un artefact indeplineste anumite criterii. De exemplu, s-ar putea sa doriti sa il impingeti numai dupa ce se executa un test de integrare.

Promotii manuale – Puteti alege un grup de persoane care pot rula manual o promotie. Aceasta ofera o modalitate de a avea o „deconectare” in cadrul sistemului de construire. De exemplu, un dezvoltator ar putea valida o constructie si sa-l aprobe pentru testarea QA numai atunci cand un produs de lucru este complet complet. Apoi, o alta promotie poate fi adaugata pentru transferul de calitate la productie.

Agregarea artefactelor – Daca aveti o versiune software care consta din mai multe artefacte care nu au legatura directa, care se afla in lucrari separate, este posibil sa doriti sa agregati toate artefactele de o calitate dovedita intr-o locatie de distributie. Pentru a face acest lucru, puteti crea un nou job, adaugand un „Copiati artefacte dintr-un alt job” (disponibil prin pluginul Copy Artifact ”) pentru fiecare articol pe care doriti sa il agregati. Pentru a obtine o anumita promotie, selectati„ Utilizati permalink ”in copie pasul artefactului, atunci construirea promovata ar trebui sa apara in lista de articole de copiat.

In conditiile de promovare din aval

Unul dintre criteriile posibile pentru promovarea unei constructii este „Cand urmatoarele proiecte din aval se construiesc cu succes”, care spune practic daca toate locurile de munca specificate au fost construite cu succes (sa spunem construirea BD a jobului JD), va fi promovata construirea din amonte (sa spunem construi BU al postului JU.)

Acest mecanism se bazeaza in mod crucial pe o „legatura” intre BD si BU, pentru ca BU nu este intotdeauna ultima versiune de succes. Spunem „BD califica BU” daca exista acest link, iar calificarea este stabilita prin unul dintre urmatoarele mijloace:

  1. Daca BD inregistreaza amprente digitale si una dintre amprente se potriveste cu unele fisiere produse de BU (care este determinata din inregistrarile de amprente ale BU), atunci BD califica BU. Intuitiv vorbind, acest lucru indica faptul ca BD foloseste artefacte din BU si, prin urmare, BD a ajutat la verificarea calitatii BU.
  2. Daca BU declanseaza BD printr-un declansator de compilare, atunci BD califica BU. Acest lucru este oarecum slab si potential incorect, deoarece nu exista nicio garantie lizibila de masina ca BD a folosit de fapt ceva de la BU, dar totusi aceasta conditie este considerata calificare pentru cei care nu configureaza amprentele digitale.

Retineti ca, in cazul # 1 de mai sus, JU si JD nu trebuie neaparat sa aiba vreo relatie de declansare. Tot ce trebuie este ca BD sa utilizeze unele artefacte amprentate de la BU si sa inregistreze acele amprente in BD. Nu conteaza modul in care sunt recuperate acele artefacte – ar putea fi prin Copy Artifact Plugin, ar putea fi printr-un depozit maven etc. Acest lucru inseamna, de asemenea, ca puteti avea o singura lucrare de testare (poate parametrizata), care poate promova o un numar mare de locuri de munca in amonte diferite.

Variabile de mediu disponibile

Urmatoarele variabile de mediu sunt adaugate pentru utilizare in scripturi etc. Acestea au fost preluate de la github aici.

  • PROMOTED_URL – URL-ul jobului promovat
    • ex: http: // jenkins / job / job_name_being_promoted / 77 /
  • PROMOTED_JOB_NAME – Numele jobului promovat
    • ex: job_name_being_promed
  • PROMOTED_NUMBER – Numarul de compilare al jobului promovat
    • ex: 77
  • PROMOTED_ID – ID-ul constructiei promovate
    • ex: 2012-04-12_17-13-03
  • PROMOTED_USER_NAME – utilizatorul care a declansat promotia
  • PROMOTED_JOB_FULL_NAME – numele complet al jobului promovat

Suport DSL pentru job

freeStyleJob (String jobname) {properties {promotions {promotion {name (String promotionName) icon (String iconName) conditions {selfPromotion (boolean evenIfUnstable = true) parameterizedSelfPromotion (boolean evenIfUnstable = true, String parameterName, String parameterValue) releaseBuild () downstream (boolean) evenIfUnstable = true, String jobs) manual in amonte (String promotionNames) manual (String user) {parametri {textParam (String parameterName, String defaultValue, String description)}} wrappers {/ * build wrappers, de ex. acreditariBinding * /} actiuni {shell (String comanda)}}}}}

Consultati WrapperContext si StepContext in API Viewer pentru documentatie completa despre posibilele impachetari si actiuni.

Exemplu

freeStyleJob (‘test-job’) {properties {promotions {promotion {name (‘Development’) conditions {manual (‘testuser’)} wrappers {timestamps ()} actions {shell (‘echo hello;’)}}}} }

Proiect in curs de desfasurare bazat pe acest plugin

  • Plugin de promovare a artefactelor pentru Jenkins Pipeline – In cadrul GSoC 2019. Alaturati-va proiectului prin urmatorul link de chat:
    • promovat-construieste-plugin