Amdanom ni
Yn 1C rydym yn datblygu nid yn unig llwyfan
Mynediad
Rydym yn aml yn defnyddio maven fel system adeiladu ar gyfer cymwysiadau Java, ac yn yr erthygl fer hon hoffem siarad am un o'r problemau y bu'n rhaid i ni eu hwynebu yn y broses o drefnu datblygiad, ac am y dull a ganiataodd i ni oresgyn hyn. problem.
Rhagofynion a llif gwaith
Oherwydd manylion y datblygiad yn ein prosiectau maven, rydym yn defnyddio cryn dipyn o fodiwlau, dibyniaethau a phrosiectau plant. Gall nifer y ffeiliau pom mewn un goeden fod yn y degau neu hyd yn oed gannoedd.
Mae'n ymddangos: dim llawer iawn, fe wnaethon nhw ei greu unwaith ac anghofio amdano. Os oes angen i chi newid neu ychwanegu rhywbeth ym mhob ffeil ar unwaith, mae yna lawer o offer cyfleus mewn golygyddion a DRhA. Beth yw'r newid rheolaidd mwyaf cyffredin i pom.xml? Credwn fod newidiadau mewn fersiynau prosiect a dibyniaethau. Efallai y bydd rhywun eisiau dadlau â hyn, ond dyma’r union sefyllfa gyda ni. Mae'r rheswm yn gorwedd yn y ffaith ein bod ni, ynghyd â'r cnewyllyn, yn datblygu llawer o'n llyfrgelloedd ein hunain ar yr un pryd, ac er mwyn atgynhyrchu canlyniadau adeiladu a phrofi yn gyson, nid yw'n ymddangos bod defnyddio cipluniau yn ddull cyfleus i ni. Am y rheswm hwn, mae angen codi rhif y fersiwn mewn prosiectau gyda phob adeilad.
Hefyd, o bryd i'w gilydd, mae angen i ddatblygwr adeiladu ei gangen ei hun o lyfrgell a gwirio ei swyddogaeth yn erbyn pob dibyniaeth, y mae'n rhaid iddo newid fersiwn pob un ohonynt â llaw.
Datrysiad cychwynnol
Gyda newidiadau mor aml a lluosog, rwyf am symleiddio ac awtomeiddio'r broses o fewn CI. Dyma lle mae ategyn cyfleus, adnabyddus yn dod i'r adwy. fersiynau-maven-plugin - ei gysylltu a'i lansio
fersiynau mvn -N: set -DnewVersion=2.0.1
a bydd Maven yn gwneud popeth fel y dylai: bydd yn rhedeg trwy'r hierarchaeth o'r top i'r gwaelod, gan ddisodli pob fersiwn - harddwch! Nawr y cyfan sydd ar ôl yw codi cais tynnu, bydd cydweithwyr yn adolygu'r newidiadau, a gallwch chi ymuno â'r gefnffordd yn gyflym. Yn gyflym? Ni waeth sut y mae. Cwpl o gannoedd pom.xml i'w hadolygu, ac nid yw hyn yn cyfrif y cod. Yn ogystal, nid oes unrhyw un yn ddiogel rhag gwrthdaro uno â nifer mor fawr o ffeiliau wedi'u newid. Dylid nodi yma, yn y broses CI, bod newidiadau fersiwn yn digwydd yn awtomatig ynghyd â newidiadau mewn ymarferoldeb, ac nid rhywsut ar wahân.
Cyfleoedd newydd
Am sbel fe wnaethon ni dawelu ac, ar ôl ymddiswyddo, roedden ni'n byw fel yna tan y bois o
mvn -Drevision=2.0.0 pecyn glân
Gwerthoedd eiddo system yn cymryd blaenoriaeth dros y gwerthoedd a ddiffinnir yneiddo>.
Rhiant
4.0.0
org.apache
apache
18
org.apache.maven.ci
ci-riant
Cyntaf CI Cyfeillgar
${revision}${sha1}${changelist}
...
1.3.1
-CRYNO
disgynnydd
4.0.0
org.apache.maven.ci
ci-riant
${revision}${sha1}${changelist}
org.apache.maven.ci
ci-blentyn
...
Os ydych chi am adeiladu fersiwn 2.0.0-SNAPSHOT, yna defnyddiwch
mvn -Drevision=2.0.0 pecyn glân
Os ydych chi am wneud datganiad, yna dim ond ailosod SNAPSHOT
mvn -Dchangelist = pecyn glân
*Mae'r enghreifftiau uchod wedi'u cymryd o
Realiti creulon
Mae popeth yn dda ac yn iach, mae'n bryd teimlo ymdeimlad o foddhad, ond na. Mae'n ymddangos na fydd y dull hwn yn gweithio ar gyfer gosod a defnyddio, gan na fydd yn cael ei ddisodli yn y disgrifiadau o arteffactau a gyhoeddir yn y storfa ${ adolygu} ar ei ystyr ac ni fydd maven bellach yn deall beth mae'n ei olygu.
org.apache
apache
${ adolygu}
Golau ym mhen draw twnnel
Mae angen inni chwilio am ateb i’r broblem. Gallai fod wedi achub y sefyllfa
Ychwanegu ategyn i'r prosiect
org.codehaus.mojo
flatten-maven-plug
1.1.0
gwir
datrysCyfeillionYn Unig
gwastatau
prosesau-adnoddau
gwastatau
fflat.clean
glan
glan
Wedi'i wneud!
Diwedd hapus
O hyn ymlaen, er mwyn newid fersiwn y prosiect cyfan a gadael i bob dibyniaeth wybod amdano, does ond angen i ni olygu'r elfen.adolygu> mewn dim ond y gwraidd pom.xml. Nid yw cant neu ddau o'r ffeiliau hyn gyda'r un newid yn cyrraedd yr adolygiad, ond un. Wel, nid oes angen defnyddio fersiynau-maven-plugin.
Ffynhonnell: hab.com