Rreth nesh
Në 1C ne zhvillojmë jo vetëm një platformë
Hyrje
Ne më së shpeshti përdorim maven si një sistem ndërtimi për aplikacionet Java, dhe në këtë artikull të shkurtër do të donim të flisnim për një nga problemet me të cilat duhej të përballeshim në procesin e organizimit të zhvillimit dhe për qasjen që na lejoi ta kapërcejmë këtë problem.
Parakushtet dhe rrjedha e punës
Për shkak të specifikave të zhvillimit në projektet tona maven, ne përdorim mjaft module, varësi dhe projekte për fëmijë. Numri i skedarëve pom në një pemë mund të jetë në dhjetëra apo edhe qindra.
Duket: nuk ka punë të madhe, ata e krijuan një herë dhe e harruan atë. Nëse keni nevojë të ndryshoni ose shtoni diçka në të gjithë skedarët menjëherë, ka shumë mjete të përshtatshme në redaktues dhe IDE. Cili është ndryshimi më i zakonshëm i rregullt në pom.xml? Ne besojmë se ndryshimet në versionet dhe varësitë e projektit. Ndoshta dikush do të dëshirojë të debatojë me këtë, por kjo është pikërisht situata me ne. Arsyeja qëndron në faktin se, së bashku me kernelin, ne po zhvillojmë njëkohësisht shumë nga bibliotekat tona, dhe për riprodhueshmërinë e vazhdueshme të rezultateve të ndërtimit dhe testimit, përdorimi i fotografive nuk na duket një qasje e përshtatshme. Për këtë arsye, është e nevojshme të rritet numri i versionit në projekte me çdo ndërtim.
Gjithashtu, herë pas here, një zhvillues duhet të ndërtojë degën e tij të një biblioteke dhe të kontrollojë funksionalitetin e saj ndaj të gjitha varësive, për të cilat ai duhet të ndryshojë manualisht versionin e të gjithave.
Zgjidhja fillestare
Me ndryshime kaq të shpeshta dhe të shumëfishta të versioneve, unë dua të thjeshtoj dhe automatizoj procesin brenda CI. Këtu vjen në shpëtim një shtojcë e përshtatshme dhe e njohur. versions-maven-plugin - lidheni atë dhe niseni atë
mvn -N versionet:set -DnewVersion=2.0.1
dhe Maven do të bëjë gjithçka siç duhet: do të kalojë nëpër hierarki nga lart poshtë, duke zëvendësuar të gjitha versionet - bukurinë! Tani gjithçka që mbetet është të ngrini një kërkesë për tërheqje, kolegët do të shqyrtojnë ndryshimet dhe ju mund të bashkoheni shpejt me trungun. Shpejt? Pavarësisht se si është. Nja dyqind pom.xml për shqyrtim, dhe kjo nuk po llogarit kodin. Për më tepër, askush nuk është i sigurt nga konfliktet e bashkimit me një numër kaq të madh skedarësh të ndryshuar. Duhet të theksohet këtu se në procesin CI, ndryshimet e versionit ndodhin automatikisht së bashku me ndryshimet në funksionalitet, dhe jo disi veçmas.
Karakteristika të reja
Për një kohë u qetësuam dhe, pasi dhamë dorëheqjen, jetuam kështu deri në djemtë nga
mvn -Drevision=2.0.0 paketë e pastër
Vlerat e vetive të sistemit kanë përparësi ndaj vlerave të përcaktuara nëPronat>.
Prindi
4.0.0
org.apache
apache
18
org.apache.maven.ci
ci-prind
E para CI Friendly
${revision}${sha1}${changelist}
...
1.3.1
-SNAPSHT
Pasardhës
4.0.0
org.apache.maven.ci
ci-prind
${revision}${sha1}${changelist}
org.apache.maven.ci
ci-fëmijë
...
Nëse dëshironi të ndërtoni versionin 2.0.0-SNAPSHOT, atëherë thjesht përdorni
mvn -Drevision=2.0.0 paketë e pastër
Nëse dëshironi të bëni një version, atëherë thjesht rivendosni SNAPSHOT
mvn -Dchangelist= paketë e pastër
* Shembujt e mësipërm janë marrë nga
Realitet i ashpër
Gjithçka është e mirë dhe e shëndetshme, është koha për të ndjerë një ndjenjë kënaqësie, por jo. Rezulton se kjo metodë nuk do të funksionojë për instalim dhe vendosje, pasi nuk do të zëvendësohet në përshkrimet e objekteve të publikuara në depo ${rishikim} për kuptimin e saj dhe maven nuk do ta kuptojë më se për çfarë bëhet fjalë.
org.apache
apache
${rishikim}
Një dritë në fund të një tuneli
Ne duhet të kërkojmë një zgjidhje për problemin. Mund ta shpëtonte situatën
Shtimi i një shtojce në projekt
org.codehaus.mojo
flatten-maven-plugin
1.1.0
e vërtetë
zgjidh CiFriendliesOnly
rrafshoj
proces-burimet
rrafshoj
rrafshoj.i pastër
pastër
pastër
Done!
Fund i lumtur
Që tani e tutje, për të ndryshuar versionin e të gjithë projektit dhe për të bërë të ditur të gjitha varësitë për të, ne vetëm duhet të modifikojmë elementinrishikim> vetëm në rrënjë pom.xml. Në shqyrtim nuk mbërrijnë njëqind apo dy nga këto dosje me të njëjtin ndryshim, por një. Epo, nuk ka nevojë të përdoret versions-maven-plugin.
Burimi: www.habr.com