GoGPT Best VPN GoSearch

Favicon OnWorks

aeintegratq - Online în cloud

Rulați aeintegratq în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda aeintegratq care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


aeintegratq - integrarea modificărilor în proiecte

REZUMAT


aeintegratq [ opțiune... ] Denumirea proiectului...

DESCRIERE


aeintegratq comanda este utilizată pentru a gestiona integrările uneia sau mai multor modificări într-una
sau mai multe proiecte. În mod normal, rulează prin cron(1) sau at(1) cu denumirea unui singur proiect,
aeintegratq va gestiona toate operațiunile pentru integrare chiar și atunci când -Construi și -Test sunt
necesare pe mai multe arhitecturi. Dacă o revizuire a modificării este revocată după ce coada este
rularea aeintegratq va observa starea proastă și va merge mai departe în tăcere. Dacă una sau mai multe
modificările sunt încheiate sau trecute după ce coada rulează și a fost dat -loop,
aeintegratq va observa noile modificări și le va integra. Opțiuni suplimentare permit
integratorul control deplin asupra majorității aspectelor gestionării cozilor, cum ar fi ordinea de
integrarea mai multor modificări.

OPŢIUNI


Se înțeleg următoarele opțiuni:

Opțiune Rezumat
-h Ajutor, afișați informații de utilizare.

-H Ajutor, arată utilizarea plus toate informațiile utile despre comentarii.

-a rulați pe orice mașină (în mod normal, numai IntegrationHost)

-s rulați operațiuni de la distanță prin ssh (rsh implicit)

-n Nicio acțiune, doar spuneți ce s-ar face.

-ib s Specificați serverul (la distanță) pentru ibegin.

-ip s Specificați serverul (la distanță) pentru ipass.

-k Păstrați scripturile și fișierele de rapoarte.

-K Păstrați fișierul temporar chiar dacă integrarea trece.

-buclă Buclă pentru a procesa mai multe modificări dacă acestea devin disponibile înainte de aeintegratq
completează. Se va opri când nu mai este nimic de făcut.

-M listă Minimum, rulați modificările date -minim

-P listă Prețioasă, nu Am pierdut modificări listă, doar opreste.

-R listă Gata, specificați ordinea și subsetul, de exemplu -R 29,45

-S etapă
Preluați la o etapă dată (dif|build|test|integrate)

-c schimbare-număr
specificați Modificare pentru a integra în Etapă

-p Denumirea proiectului
specificați un singur nume de proiect

NOTĂ: dacă sunt date opțiuni personalizate, cum ar fi -P -R -S -c -p, poate fi un singur proiect
integrat, deoarece opțiunile ar fi lipsite de sens pentru următorul proiect dat.

Unele opțiuni sunt prezente doar pentru testare și investigare. Rețineți că opțiunile sunt
rar necesar pentru operațiuni normale.

Mod de control: Opţiuni
Următoarele opțiuni sunt disponibile pentru nevoi speciale. Ei controlează ordinea și
dispoziţia fiecărei modificări în aşteptare_integrare într-un proiect dat.

-R[gata] numărul 1, numărul 2...
Această opțiune este utilizată pentru a specifica ordinea sau subsetul de integrat. Doar acele schimbări
listate vor fi încercate și exact în ordinea dată. Acest lucru se aplică la coadă
buclă dacă -buclă este dată. Rețineți în special dacă lista nu include viitor
modificări, buclele viitoare nu le vor integra.

Este util dacă o anumită modificare trebuie să apară înaintea alteia dintr-un motiv oarecare. Sau daca
integrând doar una sau două modificări atunci când mai multe sunt în aşteptare_integrare în
proiect dat. O singură modificare poate fi, de asemenea, specificată cu -Schimbare] număr
opțiune, care este comună pentru alte comenzi Aegis. Însă -R opțiunea permite a
listă și, dacă este dată, va înlocui orice -c dat.

-P[recious] numărul 1, numărul 2...

-P[recious] toate
Această opțiune este utilizată pentru a specifica o anumită modificare sau un subset de modificări
ar trebui luat în considerare prețios. Nu implică ordine și nici nu limitează rularea cozii
la acel subset; înseamnă doar că modificările ar trebui luate în considerare prețios.
Rețineți că cel puțin un număr (sau cuvântul cheie toate) trebuie dat.

Conceptul de prețios înseamnă că dacă schimbarea dată ar eșua oriunde în
procesul de integrare, apoi procesul pur și simplu se oprește și părăsește problema
modificare în directorul delta. The -Am pierdut nu ar fi de fapt executat. Acest
este uneori utilă pentru a diagnostica o problemă care apare doar în timpul integrărilor.
De asemenea, este util dacă defecțiunea se datorează unei probleme tranzitorii, cum ar fi nesigura
mașini din rețea. Într-un astfel de caz integrarea poate fi reluată după
remedierea problemei. Vezi etapă opțiunile de mai jos.

Dacă, pe de altă parte, a prețios schimbarea trece prin procesul de integrare
cu succes, opțiunea nu are efect.

-M[minimum] numărul 1, numărul 2... or toate
Integrați modificările date cu -minim opțiune. Se vor pune astfel de modificări
la capătul cozii astfel încât ultimele integrări ale unei rulări să fie minime.
Această caracteristică permite utilizarea practică a integrărilor minime fără a necesita
-minim asupra fiecărei integrări. Consultați secțiunea de mai jos despre Minim
integrările pentru mai multe informatii. Dacă -buclă primește orice modificare(e) specificată ca
minim vor rula la sfârșitul buclei în care sunt gata, nu vor fi
împins la bucla finală.

-ib[Server] numele serverului sau ""

-ip[Server] numele serverului sau ""
Pentru a specifica un server la distanță pe care să rulați -eu incep or 0 respectiv. Acestea
Opțiuni sunt rareori Necesar, dar Mai be util if a proiect is găzduit on a
diferit fişier serverul și are a mare de bază. By având în il -eu incep alerga on acea
serverul il reţea trafic ar be foarte mult redus și pentru mare Proiecte şi / sau
încetini rețele poate să foarte mult reduce il timp necesar pentru -eu incep. opțiune formă
of oferindu- an gol nume depinde de on il producție of df -k oferindu- a analizabil gazdă
nume. If acea is nu adevărat on ta integrare gazdă arhitectură, tu voi avea la
specifica il serverul nume.

-afişa valoare-afisare or ""
Pentru a specifica un afișaj X valid pentru utilizare în timpul operațiunilor de integrare.

Etapă Opţiuni
Următoarele opțiuni permit [re]pornirea unei integrări care a progresat deja
prin unele etape. Acest lucru este util pentru a face față problemelor eșuate (prețios) integrări, sau la
finaliza automat o integrare începută manual.

-S[etapă] dif

-S[etapă] construi

-S[etapă] test

-S[etapă] integra
Preluați integrarea la data etapă. Necesită -c[spanzura] număr opțiunea pentru
specificați numărul modificării.

Avansat Controale


Integratorul poate asigura situații speciale, cum ar fi operațiunile necesare după
-Construi si inainte -Test, sau la sfârșitul unei cozi. Astfel de capabilități sunt oferite de
cârlige și strategii descris mai jos.

cârlige
Există un set de cârlige disponibile care sunt rulate, dacă sunt prezente, înainte și după fiecare etapă
a integrării. Ele pot fi folosite pentru a ajuta la asigurarea faptului că integratorul primește
unii dorm în timp ce gestionează proiecte mari.

Aceste cârlige sunt căutate în director $HOME/integration_hooks. Nu trebuie să existe;
aeintegratq va acorda atenție numai celor care există. Cârligele pot fi orice formă de
executabil (script, etc) și sunt apelați cu 2 argumente: Denumirea proiectului schimbare-număr.
Ei rulează ca integrator pe mașina de la care a fost pornit aeintegratq. Sunt
numit folosind numele proiectului împreună cu un sufix în funcție de locul din
procesul de integrare pe care doriți să îl ruleze.

Rețineți că dacă un cârlig pentru proiect foo există, este folosit și pentru orice ramuri sub acesta
proiect. De exemplu, dacă ați furnizat foo.pre_ip, se va rula pentru foo.1 si
foo.1.0 de asemenea. Dacă dintr-un motiv oarecare doriți o acțiune diferită (sau nu) pentru proiect
foo.1.0, atunci ai furniza foo.1.0.pre_ip care face ce vrei tu, inclusiv
nimic, depășind efectiv foo.pre_ip.

Iată cum să mapați anumite locuri din procesul de integrare pentru a lega sufixele.

┌───────────────────────────────────────────────── ─┐
│rulați la prelungirea timpului │
├───────────────────────────────────────────────── ─┤
│înainte de a încerca -Integrate_Begin .pre_ib │
│după ce -Integrate_Begin completează .ib │
│înainte de a încerca -Diff .pre_d │
│după -Dif completează .d │
│înainte de a încerca -Build .pre_b │
│după finalizarea -Constructia .b │
│înainte de a încerca -Construiți-vă .pre_ b │
│după -Construiți completează . b │
│înainte de a încerca -Test .pre_t │
│după terminarea testului .t │
│înainte de a încerca -IPass .pre_ip │
│după ce -IPass completează .ip │
│înainte de a încerca -IFeșec .pre_dacă │
│după finalizarea -IFeail .dacă │
└───────────────────────────────────────────────── ─┘
Programul hook ar trebui să iasă cu 0 dacă are succes sau 1 dacă nu. O ieșire diferită de zero cauzează
schimbarea fiind integrată pentru a eșua imediat dacă nu a fost marcată prețioasă.

Rețineți că, în majoritatea cazurilor, orice se face printr-un .ip cârlig ar trebui probabil să fie făcut în schimb de
il ipass_notify comanda din fișierul cu atribute ale proiectului (vezi aepatr(5) pentru mai mult
informații), sau build_time_adjust_notify_command în fișierul de configurare a proiectului
(A se vedea aepconf(5) pentru mai multe informații), dar cârligul poate oferi o modalitate temporară de păstrare
mergând până când soluția permanentă poate fi implementată.

În plus, două cârlige speciale, aeintegratq.end și aeintegratq.fail, sunt recunoscute.
Sunt chemați când aeintegratq termină o rulare la coadă. Sunt chemați cu 2 argumente
ca orice alt cârlig (Denumirea proiectului schimbare-număr) deși atât numele-proiect cât și
change-number dat sunt din ultima modificare integrată și poate fi mai puțin decât util.

.Sfârșit hook este apelat dacă/când rularea cozii este terminată și a avut succes. Rețineți că
asta nu înseamnă că nicio modificare nu a eșuat, ci doar că nu au apărut erori de coadă. Acest cârlig
ar putea fi folosit pentru a invoca o altă coadă rulată pe un alt proiect/ramură sau, eventual, chiar
pe același proiect, dacă alte modificări s-ar fi putut finaliza și/sau revizuite în timpul primei
alerga era în curs, vezi și -buclă opțiune. Aceste condiții apar destul de des cu
ingineri de timp flexibil. O altă utilizare a .Sfârșit cârlig este de a construi automat un nou
pachet folosind proiectul nou integrat ca sursă.

Dacă s-au întâlnit erori de coadă sau o modificare a eșuat, a fost marcată prețios, apoi
.esu se numește cârlig. O utilizare evidentă a acestui cârlig ar fi o pagină trimisă prin e-mail către
integrator.

Strategia or Hopa, reîncercați
Uneori, o problemă persistentă de construcție va afecta integrările. Acest lucru poate fi foarte enervant
dacă strica o alergare peste noapte, mai ales dacă vindecarea este simplă când se întâmplă. Exemple
dintre acestea pot fi expirări din cauza unui server de date ocupat sau a altor erori tranzitorii. Rețineți că
acest lucru se aplică numai la -Construi probleme conexe.

Pentru a rezolva astfel de probleme, integratorul poate oferi: a strategie script specific unui
proiect. Un program executabil ar trebui să fie găsit în $HOME/strategie. .
program voi be alerga as il integrator implementate cu il deltă director as curent director.
program Mai do Orice comenzi necesar la curat up şi / sau diagnostica il eroare. If il
scenariu descoperiri il problemă la be tranzitoriu și reparabil, it ieșiri cu succes (cu 0
stare) și aeintegratq voi re-lansare il -Construi și log il reîncercați. In caz contrar il
scenariu ieşire implementate cu a 1 și il Schimbare voi nu reușesc.

Multi-Arhitectură integrările


Pentru proiectele care construiesc și testează pe mai multe arhitecturi, aeintegratq necesită
arhi_gazde să fie instalat și să aibă la dispoziție cel puțin o mașină din fiecare arhitectură
necesar. Acest lucru este valabil și dacă gazda de pe care se rulează aeintegratq este diferită
arhitectura din arhitectura tinta a proiectului care se integreaza.

Dacă doriți să profitați de integrările automate ale arhitecturii multiple, puteți
instala arhi_gazde sau furnizați un script mai simplu care va returna un nume de mașină
în funcție de arhitectură și tipul locului de muncă.

Minim integrările


oferă o minim capacitatea de integrare care poate fi utilizată din diverse motive. The
durată minim poate fi puțin contra-intuitiv. S-ar putea crede că înseamnă să faci minim
cantitatea de muncă, cu toate acestea înseamnă de fapt utilizarea a minim de fișiere din linia de bază în
popularea deltă director. Deoarece nu sunt introduse fișiere construite în fișierul deltă
director, acest lucru duce, în mod normal, la construirea efectivă a totul din proiect
surse și, ca atare, ar putea fi considerată cea mai robustă dintre versiuni.

Rețineți că orice modificare care elimină un fișier, fie prin aerm or aemv, rezultă într-o
implicit minim integrare. Acest lucru este menit să nu asigure nimic în proiect
face referire la fișierul eliminat.

Un proiect poate adopta o politică conform căreia lansarea unui produs ar trebui să se bazeze pe un minim
integrare. O astfel de politică poate fi o reflectare a încrederii locale sau a lipsei acesteia în
DMT (Dependency Maintenance Tool) sau sistemul de construcție al proiectului. Sau se poate baza pe o
procesul de validare care dorește să facă o declarație simplă despre cum a fost pachetul lansat
produs.

Un alt motiv, mai tranzitoriu, pentru a solicita o integrare minimă ar putea fi când
actualizarea unei biblioteci terțe, a unui compilator sau poate chiar la nivel de sistem de operare. Oricare dintre aceste evenimente
ar semnala necesitatea unei integrări minime pentru a se asigura că totul este reconstruit folosind
resurse noi. Acest lucru se poate face cu o suprasarcină minimă folosind -M opțiunea așa cum este descrisă
de mai sus.

Costul a minim integrarea variază în funcție de tipul și dimensiunea proiectului. Pentru
proiecte foarte mari, în special cele care construiesc un număr mare de binare, costul poate fi
mare. Cu toate acestea, proiectele mari necesită, de asemenea, timp semnificativ pentru a popula complet delta
director. O integrare minimă doar copiază acele fișiere sub control egida, sărind peste
toate fișierele „produse”. În cazul în care un fișier de care depinde totul este modificat,
totul va fi construit oricum, astfel încât copia fișierelor deja construite este o risipă de
timp. Aceasta înseamnă că uneori un minim poate fi la fel de ieftin ca o integrare normală.

Manual Teste


permite ca testele să fie definite ca manual care poate fi necesar dacă testul necesită om
interacțiune sau vreo resursă tranzitorie. Astfel de teste pot fi problematice pentru automate
integrări și în general trebuie să aibă niște mijloace pentru a trece fără să alerge în timpul
integrări. Din acest motiv și din alte motive pe care majoritatea site-urilor încearcă să le evite manual teste. Acolo
Există o serie de moduri de a codifica un test astfel încât acesta să treacă automat în timpul
integrări. Doar un exemplu pentru testele de script shell ar putea fi:

CSTATE=`aesub -p $AEGIS_PROJECT -c $AEGIS_CHANGE '${state}'`
dacă [ "$CSTATE" = "fiind_integrat" ]
apoi
echo „`basename $0` trece în timpul integrării”
iesirea 0
fi

Opțional Asistență Programe


Există câteva programe pe care aeintegratq le va folosi dacă sunt instalate.

· arhi_gazde a fost menționat anterior. Este opțional doar dacă proiectele dvs. și dvs
serverele de fișiere au o singură arhitectură.

· aelogres poate îmbunătăți informațiile furnizate în -Am pierdut intrări. În mod normal, tot ce primești
sunt ultimele 10 rânduri ale fișierului jurnal, ceea ce nu este rău dacă testele eșuează, dar poate fi groaznic
pentru construcții eșuate. Dacă furnizați un program numit aelogres care știe să extragă a
raport mai succint al problemelor, rezultatul acelui program va fi folosit în loc de
coada simplă. Se numește cu a -i opțiune.

· sound_all_machines, dacă este disponibil, va fi apelat atunci când integrările fie reușesc, fie eșuează.
Poate fi util să anunțați faptul că o integrare s-a încheiat. Daca a trecut,
dezvoltatorii vor dori probabil să facă o ADE pentru a-și aduce modificările la zi. Audio
anunțul oferă un alt indiciu oportun.

Fișierele de sunet sunt căutate în directorul /var/lib/aegis/sounds. Vor avea
terminatii ale _trece și _eşua conform rezultatelor unei încercări date. Două fișiere de sunet
sunt necesare: trecere_integrare și integration_fail. Altele vor fi folosite dacă sunt furnizate
personalizați sunetele astfel încât fiecare dezvoltator să aibă unul sau mai multe sunete personale. În cazul în care o
fișier numit _trece se află, va fi folosit. Dacă există un set de fișiere numite
<developer_pass.[0-9] ele vor fi folosite în ordine aleatorie. Se aplică aceeași regulă de căutare
la _eşua seturi. sound_all_machines programul poate folosi o listă de gazde și poate reda sunetul
fișier pe fiecare mașină sau, presupunând că există alte capacități audio, ar putea face orice formă
de anunț dorit.

EXIT STAREA


aeintegratq comanda va ieși cu starea 1 la orice eroare. The aeintegratq
comanda va ieși numai cu starea 0 dacă nu există erori.

MEDIUL VARIABILE


Vedea egidă(1) pentru o listă de variabile de mediu care pot afecta această comandă. Vedea
aepconf(5) pentru fișierele de configurare a proiectului specific_proiectului câmp pentru modul de setare
variabile de mediu pentru toate comenzile executate de Aegis.

Utilizați aeintegratq online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

Comenzi Linux

Ad




×
publicitate
❤️Cumpără, rezervă sau cumpără aici — gratuit, contribuind la menținerea serviciilor gratuite.