Biz haqimizda
1C da biz nafaqat platformani ishlab chiqamiz
kirish
Biz ko'pincha maven-dan Java ilovalari uchun qurilish tizimi sifatida foydalanamiz va ushbu qisqa maqolada biz ishlab chiqishni tashkil qilish jarayonida duch keladigan muammolardan biri va buni engib o'tishga imkon bergan yondashuv haqida gaplashmoqchimiz. muammo.
Old shartlar va ish jarayoni
Maven loyihalarimizda rivojlanishning o'ziga xos xususiyatlaridan kelib chiqqan holda, biz juda ko'p modullar, bog'liqliklar va bolalar loyihalaridan foydalanamiz. Bitta daraxtdagi pom fayllar soni o'nlab yoki hatto yuzlab bo'lishi mumkin.
Ko'rinishidan: katta ish yo'q, ular buni bir marta yaratdilar va bu haqda unutdilar. Agar siz bir vaqtning o'zida barcha fayllarga biror narsani o'zgartirishingiz yoki qo'shishingiz kerak bo'lsa, muharrirlar va IDE-larda juda ko'p qulay vositalar mavjud. Pom.xml ga eng ko'p muntazam o'zgartirish nima? Loyiha versiyalari va bog'liqliklari o'zgarishiga ishonamiz. Ehtimol, kimdir bu bilan bahslashmoqchi bo'ladi, lekin bizda aynan shunday holat. Buning sababi shundaki, yadro bilan bir qatorda biz bir vaqtning o'zida ko'plab o'z kutubxonalarimizni rivojlantirmoqdamiz va qurish va sinov natijalarining doimiy takrorlanishi uchun oniy tasvirlardan foydalanish bizga qulay yondashuv bo'lib tuyulmaydi. Shu sababli, har bir qurilish bilan loyihalarda versiya raqamini oshirish kerak.
Bundan tashqari, vaqti-vaqti bilan ishlab chiquvchi kutubxonaning o'z filialini qurishi va uning funksionalligini barcha bog'liqliklarga nisbatan tekshirishi kerak, buning uchun u ularning barchasining versiyasini qo'lda o'zgartirishi kerak.
Dastlabki yechim
Tez-tez va ko'p versiya o'zgarishlari bilan men CI ichidagi jarayonni soddalashtirish va avtomatlashtirishni xohlayman. Bu erda qulay, taniqli plagin yordamga keladi. versiyalar-maven-plagin - uni ulang va ishga tushiring
mvn -N versiyalari: set -DnewVersion=2.0.1
va Maven hamma narsani kerak bo'lganda qiladi: u yuqoridan pastgacha ierarxiya bo'ylab o'tadi va barcha versiyalarni almashtiradi - go'zallik! Endi faqat tortishish so'rovini ko'tarish qoladi, hamkasblar o'zgarishlarni ko'rib chiqadilar va siz tezda magistralga qo'shilishingiz mumkin. Tezdami? Qanday bo'lmasin. Bir necha yuz pom.xml ko'rib chiqish uchun, va bu kodni hisobga olmaydi. Bundan tashqari, hech kim bunday katta miqdordagi o'zgartirilgan fayllar bilan birlashma to'qnashuvlaridan xavfsiz emas. Shuni ta'kidlash kerakki, CI jarayonida versiya o'zgarishlari qandaydir tarzda alohida emas, balki funksionallikdagi o'zgarishlar bilan birga avtomatik ravishda sodir bo'ladi.
Yangi xususiyatlar
Bir muncha vaqt biz tinchlandik va iste'foga chiqdik, biz yigitlargacha shunday yashadik
mvn -Drevision = 2.0.0 toza paket
Tizim mulki qiymatlari belgilangan qiymatlardan ustun turadixususiyatlari>.
Ota-onalar
4.0.0
org.apache
apache
18
org.apache.maven.ci
ci-ota-ona
Birinchi CI Friendly
${revision}${sha1}${changelist}
...
1.3.1
- SNAPSHOT
Avlod
4.0.0
org.apache.maven.ci
ci-ota-ona
${revision}${sha1}${changelist}
org.apache.maven.ci
ci-bola
...
Agar siz 2.0.0-SNAPSHOT versiyasini yaratmoqchi bo'lsangiz, shunchaki foydalaning
mvn -Drevision = 2.0.0 toza paket
Agar siz nashr qilishni xohlasangiz, SNAPSHOT-ni qayta o'rnating
mvn -Dchangelist = toza paket
*Yuqoridagi misollar manbadan olingan
Qattiq haqiqat
Hamma narsa yaxshi va sog'lom, qoniqish hissini his qilish vaqti keldi, lekin yo'q. Ma'lum bo'lishicha, bu usul o'rnatish va joylashtirish uchun ishlamaydi, chunki u omborda nashr etilgan artefaktlarning tavsiflarida almashtirilmaydi. ${revision} uning ma'nosi haqida va maven endi bu nima haqida ekanligini tushunmaydi.
org.apache
apache
${revision}
Tunnel oxiridagi yorug'lik
Muammoga yechim izlashimiz kerak. Vaziyatni saqlab qolishi mumkin edi
Loyihaga plagin qo'shish
org.codehaus.mojo
flatten-maven-plugin
1.1.0
rost
ResolutionCiFriendliesOnly
tekislash
jarayon-resurslar
tekislash
tekislash.tozalash
toza
toza
Bajar!
Baxtli xotima
Bundan buyon, butun loyihaning versiyasini o'zgartirish va barcha bog'liqliklarga bu haqda xabar berish uchun biz faqat elementni tahrirlashimiz kerak.taftish> faqat ildizda pom.xml. Ko'rib chiqishda bir xil o'zgarishlarga ega bo'lgan yuz yoki ikkita fayl emas, balki bittasi keladi. Xo'sh, foydalanishga hojat yo'q versiyalar-maven-plagin.
Manba: www.habr.com