în perioade de dezvoltare software prin metodologii agile, scrum și integrare continuă, unde toți membrii unei echipe sunt frecvent intenționate și pot efectua mai multe încărcări pe zi, în funcție de Sarcini care trebuie dezvoltate, este esențial să se utilizeze instrumente care permit starea produsului în orice moment, diferitele versiuni și statul se găsește.
De fiecare dată când o creștere este efectuată codul depozitului, un Integrarea care compilează codul sursă și verifică dacă sa făcut corect, obținând un executabil al cererii. Pentru acest proces, în SDO am optat pentru utilizarea lui Jenkins, un software gratuit și o sursă deschisă scrisă în Java și se bazează pe proiectul Hudson.
De ce Jenkins?
acest lucru Sistemul acceptă instrumente de control al versiunii, cum ar fi SVN sau GIT și pot executa proiecte bazate pe Ant și Maven, grad etc. În plus, fiind un proiect open source, este cel mai utilizat de dezvoltatori, cu o mare dezvoltare și comunitate de sprijin.
Dar Jenkins nu este doar un instrument pentru echipa de dezvoltare, de asemenea, servește la QA Echipamente: în același mod care permite executarea testelor automate sau chiar utilizarea sonarqube, imediat după fiecare compilație vă permite să verificați calitatea creșterii.
Cum se utilizează Jenkins cu Android?
În dezvoltarea Android, Jenkins ne poate servi pentru a genera un .PK de fiecare dată când efectuăm o urcare de cod în depozit, păstrându-l pe un server FTP unde vom avea o listă cu toate versiunile generate.
>
În acest post vă spunem cum să finalizați întregul proces. Am început!
Creați un proiect la Jenkins
În primul rând, am creat un nou loc de muncă în Jenkins.
DIV id = „92F4803433”>
Următor, selectăm un nou proiect Freestyle pentru ao configura în funcție de nevoile noastre. Noi scriem un nume și faceți clic pe OK.
General
În această secțiune vom defini următoarele:
- Numele și descrierea proiectului. Este recomandabil să se ofere un nume intuitiv la proiect și o descriere specifică care să știe la care se execută locurile de muncă:
div id = ” 1965EF8EEA „>
- iv id =” 74d380b033 ” Când clădirile vechi sunt descărcate. Este important să se definească un număr maxim de construcție pentru a economisi, deoarece nu dorim să supraîncărcați mașina sau să umplem execuțiile lucrării. Ca o recomandare, vom rămâne cu ultimele 10 execuții efectuate. Dacă, din proiect, avem nevoie de mai mult, numărul ar putea fi crescut, dar ar trebui să fie numai în cazuri specifice.
- Parametrii pentru executarea proiectului. În partea generală, vom defini, de asemenea, parametrii necesari pentru a executa un loc de muncă. Pentru a le adăuga, trebuie să facem clic pe acest proiect este parametrizarea și selectați un parametru de alegere. Parametrii pentru compilarea unei aplicații Android vor fi următoarele:
- tip. În mod implicit, pe Android, două tipuri, depanare și eliberare, dar pot fi adăugate tipuri personalizate. În cazul nostru vom adăuga: eliberare, preproducție și debug.
- arome. O aromă definește o versiune personalizată a aplicației. Acest lucru ne permite să definim diferite personalizări ale cererii în funcție de varianta de care avem nevoie. De exemplu, am putea avea o făină pentru o demonstrație a aplicației și alta cu aplicarea completă a plății.
- git parametru. Vom defini ca parametru sucursala pe care o dorim din depozitul concret. Va trebui să definim o valoare implicită pentru execuțiile automate. Dacă avem multe ramuri în același depozit, putem face un filtru prin numelui filialei ca, de exemplu ,. * _ RC. * (Toate ramurile care includ _rc, candidat recid).
- URL de depozitare. Unde este salvat codul proiectului.
- acreditări. Vom folosi utilizatorul git adăugat anterior în Jenkins.
- ramură. Vom specifica ramura specifică a proiectului pe care o vom folosi. Așa cum am ales unul cu parametrul parametrilor gitului, trecem valoarea acelui parametru cu sucursala de $.
- efectuați o execuție de la distanță de la un script.
- Efectuați execuția periodic, de exemplu în fiecare noapte la 00:00.
1965ef8eea „> div id =” 1965ef8eea „>
Puteți găsi mai multe informații despre parametrii din acest link.
Managementul codului sursă
În această secțiune vom defini tipul de depozit pe care vrem să îl folosim, în noi Cazul va fi git.
Odată ce selectăm opțiunea GIT trebuie să adăugăm:
iv id = „92F4803433” id id = „551bd1b181”
Construirea declanșatorilor
în acest sens Secțiunea Vom defini tipul de activator care trebuie să executăm construcția. Dacă nu adăugăm niciunul, acesta va fi executat numai când o forțăm. De aici putem:
Efectuați o execuție atunci când apare o cerere de împingere sau o nouă cerere de îmbinare în depozit.
Pentru moment o vom lăsa în mod implicit și o vom executa manual.
Build Enviroment
În această secțiune vom defini două opțiuni:
- Ștergeți dosarul spațiului de lucru înainte de fiecare execuție (pentru a efectua o execuție curată).
- Adăugați marcajul la bușteni pentru a avea mai multe informații.
Construiți
în secțiunea Build Vom adăuga o coajă de execuție pentru a rula următoarele comenzi:
- chmod + x Graddlew: oferă permisiuni de execuție la fișierul Graddlew în cazul în care nu le aveți (în mod implicit le are deja).
- ./ Graddlew: Executați Fișierul Graddlew pe mașină unde Jenkins este un Linux (feriți-vă de acest fișier!).
- Asamblați: este ordinea de a compila o aplicație Android.
- $ aroma: aroma aleasă pentru execuție . Am pus $ pentru a înlocui valoarea parametrului selectând de la drop-down-ul de aromă în secțiunea generală.
- $ tip: tip ales pentru execuție. Am pus $ pentru a înlocui valoarea parametrului prin drop-down-ul de tip selectat în secțiunea generală.
acțiuni post-construire
din această secțiune vom în principal Trei acțiuni:
- Salvați artefactul generat. Vom păstra toate fișierele .apk generate în compilarea proiectului. Implicit o vom salva la: ** / *. Apk
iv id = „0d970679de” - Vom trimite fișierul .apk în interiorul dosarului / APKS / A Un server FTP. În cazul nostru, avem un server numit NAS1 în care vom salva APK-ul generat într-un dosar deja creat în cadrul serverului.Norta: Pentru a configura conexiunea cu un server FTP, trebuie să mergem pentru a gestiona Jenkins > Configurați Jenkins > Publicați peste FTP și adăugați datele corespunzătoare serverului nostru.
DIV ID =” F36CEAAA64 „> - trimiteți poștă de fiecare dată când terminați o construcție utilizând acțiunea de notificare e-mail post-construită. Configurația pe care o vom avea va fi după cum urmează:
Puteți copia conținutul de mesaje implicit al acestui HTML:
Subiect implicit
Result of Build $BUILD_NUMBER ${JOB_NAME} Project.
Conținut implicit
<html><p> Hello. </p><p>This mail is auto-generated as part of the Jenkins execution of the project <b>${JOB_NAME}</b> </p><h2> BUILD DETAILS: </h2><p> <b>Project Name:</b> ${JOB_NAME} <br> <b>Build URL:</b> ${BUILD_URL} <br> <b> Build Number: </b> ${BUILD_NUMBER} <br> <b>Build Status: </b> ${BUILD_STATUS} <br> <b>Type: </b> $Type <br> <b>Flavor: </b> $Flavor <br> <b>Branch: </b> $Branch <br> <b>Download APK: </b> ${BUILD_URL}/lastSuccessfulBuild/artifact/apks/ <br> <b>Log: </b> The log file is attached into this e-mail. <br> <b>Log URL: </b> ${BUILD_URL}${JOB_NAME}/lastBuild/console <br> <b>Changes: </b> ${CHANGES, format="List of changes: <li><ul> %m </ul><ul> %d </ul> <ul> %r </ul></li> <br>"} <br></p><p> Thank you & Regards. </p></html>
Acest șablon este generic pentru orice proiect Așa cum utilizează următoarele variabile:
- $ {job_name}. Numele lui Job la Jenkins.
- $ {buyl_url}. URL-ul exact al lucrării
- $ build_number}. Creșteți numărul executat.
- $ build_status}. Statul în care a terminat construirea.
- $ tip. Tipul selectat la rularea construirii.
- $ aroma. Aroma selectată atunci când execută construirea.
- $ sucursală. Sucursala selectată atunci când rulează construirea, dacă nimeni nu a fost ales, apare numele ramurii implicite.
- $ modificări}. Afișează modificările aduse comitetului care a activat construirea.
- % A: comitet.
- % m: Mesaj de la comitet.
- % d: Data a comitetului.
- % r: Numărul comiterii
Aceasta va duce la un e-mail ca cel prezentat mai jos. Să luăm rețeaua generată cu ușurință.