kuhusu sisi
Katika 1C sisi kuendeleza si tu jukwaa
Entry
Mara nyingi sisi hutumia maven kama mfumo wa ujenzi wa programu za Java, na katika nakala hii fupi tungependa kuzungumza juu ya shida moja ambayo tulilazimika kukabiliana nayo katika mchakato wa kuandaa maendeleo, na juu ya njia ambayo ilituruhusu kushinda hii. tatizo.
Masharti na mtiririko wa kazi
Kwa sababu ya hali maalum ya maendeleo katika miradi yetu ya maven, tunatumia moduli nyingi, utegemezi na miradi ya watoto. Idadi ya faili za pom katika mti mmoja inaweza kuwa katika makumi au hata mamia.
Inaweza kuonekana: hakuna jambo kubwa, waliiumba mara moja na kusahau kuhusu hilo. Ikiwa unahitaji kubadilisha au kuongeza kitu katika faili zote mara moja, kuna zana nyingi zinazofaa katika wahariri na IDE. Ni mabadiliko gani ya kawaida ya kawaida kwa pom.xml? Tunaamini kuwa mabadiliko katika matoleo ya mradi na tegemezi. Labda mtu atataka kubishana na hii, lakini hii ndio hali halisi na sisi. Sababu iko katika ukweli kwamba, pamoja na kernel, tunatengeneza maktaba zetu nyingi wakati huo huo, na kwa kuzaliana mara kwa mara kwa matokeo ya ujenzi na upimaji, utumiaji wa snapshots hauonekani kwetu kama njia rahisi. Kwa sababu hii, ni muhimu kuongeza nambari ya toleo katika miradi na kila jengo.
Pia, mara kwa mara, msanidi programu anahitaji kujenga tawi lake la maktaba na kuangalia utendaji wake dhidi ya utegemezi wote, ambao lazima abadilishe toleo lao zote.
Suluhisho la awali
Kwa mabadiliko kama haya ya mara kwa mara na mengi, ninataka kurahisisha na kubinafsisha mchakato ndani ya CI. Hapa ndipo programu-jalizi inayofaa, inayojulikana sana inakuja kuwaokoa. matoleo-maven-plugin - iunganishe na uzindue
matoleo ya mvn -N:set -DnewVersion=2.0.1
na Maven atafanya kila kitu kama inavyopaswa: itapitia uongozi kutoka juu hadi chini, ikibadilisha matoleo yote - uzuri! Sasa kinachobakia ni kuongeza ombi la kuvuta, wenzake watakagua mabadiliko, na unaweza haraka kujiunga na shina. Haraka? Haijalishi ni jinsi gani. Mamia kadhaa pom.xml kwa ukaguzi, na hii sio kuhesabu nambari. Kwa kuongeza, hakuna mtu aliye salama kutokana na kuunganisha migogoro na idadi kubwa ya faili zilizobadilishwa. Ikumbukwe hapa kwamba katika mchakato wa CI, mabadiliko ya toleo hutokea moja kwa moja pamoja na mabadiliko katika utendaji, na si kwa namna fulani tofauti.
Vipengele vipya
Kwa muda tulitulia na, tukajiuzulu, tuliishi hivyo hadi watu kutoka
mvn -Drevision=2.0.0 kifurushi safi
Thamani za mali ya mfumo huchukua kipaumbele juu ya maadili yaliyofafanuliwa ndanimali>.
Mzazi
4.0.0
org.apache
apache
18
org.apache.maven.ci
ci-mzazi
Kwanza CI Kirafiki
${revision}${sha1}${changelist}
...
1.3.1
-PICHA
Mjukuu
4.0.0
org.apache.maven.ci
ci-mzazi
${revision}${sha1}${changelist}
org.apache.maven.ci
ci-mtoto
...
Ikiwa unataka kujenga toleo la 2.0.0-SNAPSHOT, basi tumia tu
mvn -Drevision=2.0.0 kifurushi safi
Ikiwa unataka kutoa toleo, basi weka upya SNAPSHOT
mvn -Dchangelist= kifurushi safi
*Mifano hapo juu imechukuliwa kutoka
Ukweli mkali
Kila kitu ni nzuri na afya, ni wakati wa kujisikia hisia ya kuridhika, lakini hapana. Inabadilika kuwa njia hii haitafanya kazi kwa kusanikisha na kupeleka, kwani haitabadilishwa katika maelezo ya mabaki yaliyochapishwa kwenye ghala. ${marekebisho} juu ya maana yake na maven haitaelewa tena inahusu nini.
org.apache
apache
${marekebisho}
Mwangaza mwishoni mwa handaki
Tunahitaji kutafuta suluhisho la tatizo. Inaweza kuokoa hali hiyo
Inaongeza programu-jalizi kwenye mradi
org.codehaus.mojo
flatten-maven-plugin
1.1.0
kweli
solveCiFriendliesOnly
bapa
mchakato-rasilimali
bapa
bapa.safi
safi
safi
Imefanyika!
Mwisho wa furaha
Kuanzia sasa na kuendelea, ili kubadilisha toleo la mradi mzima na kuruhusu utegemezi wote kujua kuhusu hilo, tunahitaji tu kuhariri kipengele.marekebisho> katika mizizi tu pom.xml. Sio faili mia moja au mbili kati ya hizi zilizo na mabadiliko sawa hufika kwenye ukaguzi, lakini moja. Naam, hakuna haja ya kutumia matoleo-maven-plugin.
Chanzo: mapenzi.com