Бидний тухай
1С дээр бид зөвхөн платформ боловсруулаад зогсохгүй
нэвтрэх
Бид ихэвчлэн maven-ийг Java програмуудад зориулж бүтээх систем болгон ашигладаг бөгөөд энэхүү богино өгүүллээр бид хөгжүүлэлтийг зохион байгуулах явцад тулгарч байсан бэрхшээлүүдийн нэг, үүнийг даван туулах боломжийг олгосон аргын талаар ярихыг хүсч байна. асуудал.
Урьдчилсан нөхцөл ба ажлын урсгал
Манай maven төслүүдийн хөгжлийн онцлогоос шалтгаалан бид маш олон модуль, хамаарал, хүүхдийн төслүүдийг ашигладаг. Нэг мод дахь pom файлын тоо хэдэн арван, бүр хэдэн зуун байж болно.
Энэ нь тийм ч чухал зүйл биш юм шиг санагдаж байна, тэд үүнийг нэг удаа бүтээж, мартсан. Хэрэв та бүх файлд нэг дор ямар нэг зүйлийг өөрчлөх эсвэл нэмэх шаардлагатай бол засварлагч болон IDE-д олон тохиромжтой хэрэгсэл байдаг. pom.xml-д хамгийн түгээмэл тогтмол өөрчлөлт юу вэ? Төслийн хувилбарууд болон хамааралууд өөрчлөгдсөн гэдэгт бид итгэдэг. Магадгүй хэн нэгэн үүнтэй маргахыг хүсэх байх, гэхдээ энэ нь бидний хувьд яг ийм байна. Үүний шалтгаан нь цөмтэй зэрэгцэн бид өөрсдийн олон номын сангуудыг нэгэн зэрэг хөгжүүлж байгаа бөгөөд бүтээх, туршилтын үр дүнг байнга давтахын тулд хормын хувилбарыг ашиглах нь бидэнд тийм ч тохиромжтой арга биш юм шиг санагдаж байна. Энэ шалтгааны улмаас төсөл бүрийн хувилбарын дугаарыг нэмэгдүүлэх шаардлагатай.
Түүнчлэн, хөгжүүлэгч үе үе номын сангийн өөрийн салбарыг байгуулж, түүний үйл ажиллагааг бүх хамааралтай харьцуулж шалгах шаардлагатай байдаг бөгөөд үүний тулд тэр бүхний хувилбарыг гараар өөрчлөх шаардлагатай болдог.
Анхны шийдэл
Ийм давтамжтай, олон хувилбарын өөрчлөлтүүдээр би CI доторх үйл явцыг хялбаршуулж, автоматжуулахыг хүсч байна. Энэ бол тохиромжтой, алдартай залгаас аврах ажилд ирдэг. хувилбарууд-maven-plugin - үүнийг холбож, ажиллуулна уу
mvn -N хувилбарууд: багц -DnewVersion=2.0.1
болон Maven бүх зүйлийг хийх ёстой зүйлээ хийх болно: энэ нь шаталсан шатлалыг дээрээс доошоо чиглүүлж, бүх хувилбаруудыг солих болно - гоо сайхан! Одоо зөвхөн татах хүсэлтийг гаргах л үлдлээ, хамт ажиллагсад өөрчлөлтийг хянан үзэж, та хурдан их биетэй нэгдэж болно. Түргэн? Яаж ч байсан хамаагүй. Хэдэн зуу pom.xml хянаж үзэх бөгөөд энэ нь кодыг тооцохгүй. Нэмж дурдахад, ийм олон тооны өөрчлөгдсөн файлуудтай нэгдэх зөрчилдөөнөөс хэн ч аюулгүй байдаггүй. CI процесст хувилбарын өөрчлөлт нь функциональ өөрчлөлтийн хамт автоматаар явагддаг бөгөөд тусад нь биш гэдгийг энд тэмдэглэх нь зүйтэй.
Шинэ боломжууд
Хэсэг хугацаанд бид тайвширч, огцрохын тулд тэр үеийн залуусыг хүртэл ингэж амьдарсан
mvn -Drevision = 2.0.0 цэвэр багц
Системийн өмчийн утгууд нь тодорхойлсон утгуудаас давамгайлдагшинж чанар>.
Эцэг эх
4.0.0
org.apache
apache
18
org.apache.maven.ci
ci-эцэг эх
Анхны CI-д ээлтэй
${хувилбар}${sha1}${өөрчлөгч}
...
1.3.1
-НУРШИЛТ
Үр удам
4.0.0
org.apache.maven.ci
ci-эцэг эх
${хувилбар}${sha1}${өөрчлөгч}
org.apache.maven.ci
ци-хүүхэд
...
Хэрэв та 2.0.0-SNAPSHOT хувилбарыг бүтээхийг хүсвэл зүгээр л хэрэглээрэй
mvn -Drevision = 2.0.0 цэвэр багц
Хэрэв та хувилбар гаргахыг хүсвэл SNAPSHOT-г дахин тохируулаарай
mvn -Dchangelist = цэвэр багц
*Дээрх жишээнүүдийг авсан болно
Хатуу бодит байдал
Бүх зүйл сайхан, эрүүл, сэтгэл ханамжийг мэдрэх цаг болсон, гэхдээ үгүй. Энэ арга нь хадгалах газарт нийтлэгдсэн олдворуудын тайлбарт орлуулахгүй тул суулгах, байрлуулахад ажиллахгүй. ${хувилбар} Үүний утга учрыг харгалзан Мавен энэ нь юу болохыг ойлгохоо болино.
org.apache
apache
${хувилбар}
Хонгилын үзүүр дэх гэрэл
Бид асуудлыг шийдэх гарц хайх хэрэгтэй. Нөхцөл байдлыг аварч чадах байсан
Төсөлд залгаас нэмж байна
org.codehaus.mojo
flatten-maven-plugin
1.1.0
үнэн
ResolutionCiFriendliesOnly
тэгшлэх
процесс-нөөцүүд
тэгшлэх
тэгшлэх.цэвэрлэх
цэвэрхэн
цэвэрхэн
Дууссан!
Аз жаргалтай төгсгөл
Одооноос эхлэн төслийн бүх хувилбарыг өөрчилж, бүх хамааралтай хүмүүст энэ тухай мэдэгдэхийн тулд бид зөвхөн элементийг засах хэрэгтэй.шалгалт> зөвхөн язгуурт pom.xml. Ижил өөрчлөлттэй эдгээр файлуудаас зуу эсвэл хоёр биш, харин нэг нь хянан үзэхэд ирдэг. За, хэрэглэх шаардлагагүй хувилбарууд-maven-plugin.
Эх сурвалж: www.habr.com