Біз туралы
1С-те біз платформаны ғана дамытпаймыз
кіру
Біз көбінесе maven-ті Java қосымшалары үшін құрастыру жүйесі ретінде қолданамыз және осы қысқа мақалада біз әзірлеуді ұйымдастыру процесінде кездесетін мәселелердің бірі және оны еңсеруге мүмкіндік берген тәсіл туралы сөйлескіміз келеді. мәселе.
Алғы шарттар және жұмыс процесі
Біздің maven жобаларындағы даму ерекшеліктеріне байланысты біз модульдерді, тәуелділіктерді және еншілес жобаларды қолданамыз. Бір ағаштағы pom файлдарының саны ондаған немесе тіпті жүздеген болуы мүмкін.
Бұл: үлкен мәселе емес, олар оны бір рет жасап, оны ұмытып кеткен сияқты. Барлық файлдарда бірден бір нәрсені өзгерту немесе қосу қажет болса, редакторлар мен IDE-де көптеген ыңғайлы құралдар бар. pom.xml файлына ең жиі қолданылатын тұрақты өзгерту қандай? Жоба нұсқалары мен тәуелділіктердегі өзгерістерге сенеміз. Мүмкін біреу мұнымен даулағысы келетін шығар, бірақ бізде дәл солай. Мұның себебі ядромен бірге біз өзіміздің көптеген кітапханаларымызды бір уақытта дамытамыз, ал құрастыру және тестілеу нәтижелерінің үнемі қайталануы үшін суретті пайдалану бізге ыңғайлы тәсіл болып көрінбейді. Осы себепті жобалардағы нұсқа нөмірін әрбір құрастыру кезінде көтеру қажет.
Сондай-ақ, әзірлеушіге мезгіл-мезгіл кітапхананың жеке филиалын құру және оның функционалдығын барлық тәуелділіктерге қарсы тексеру қажет, ол үшін олардың барлығының нұсқасын қолмен өзгертуге тура келеді.
Бастапқы шешім
Осындай жиі және бірнеше нұсқа өзгерістерімен мен CI ішіндегі процесті жеңілдеткім және автоматтандырғым келеді. Бұл жерде ыңғайлы, танымал плагин көмекке келеді. нұсқалар-maven-плагин - оны қосыңыз және іске қосыңыз
mvn -N нұсқалары:set -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 Friendly
${revision}${sha1}${changelist}
...
1.3.1
-СУРЕТ
Ұрпақ
4.0.0
org.apache.maven.ci
ci-ата-ана
${revision}${sha1}${changelist}
org.apache.maven.ci
ци-бала
...
2.0.0-SNAPSHOT нұсқасын жасағыңыз келсе, жай ғана пайдаланыңыз
mvn -Drevision = 2.0.0 таза пакет
Егер сіз шығарылым жасағыңыз келсе, жай ғана SNAPSHOT қалпына келтіріңіз
mvn -Dchangelist = таза пакет
*Жоғарыдағы мысалдар мына жерден алынды
Қатаң шындық
Барлығы жақсы және сау, қанағаттану сезімін сезінетін уақыт келді, бірақ жоқ. Бұл әдіс орнату және орналастыру үшін жұмыс істемейтіні белгілі болды, өйткені ол репозиторийде жарияланған артефактілердің сипаттамаларында ауыстырылмайды. ${ревизия} оның мағынасы туралы және Мавен енді оның не туралы екенін түсінбейді.
org.apache
apache
${ревизия}
Туннельдің соңындағы жарық
Біз мәселенің шешімін іздеуіміз керек. Жағдайды сақтап қалуға болар еді
Жобаға плагин қосу
org.codehaus.mojo
flatten-maven-плагин
1.1.0
рас
ResolutionCiFriendliesOnly
тегістеу
процесс-ресурстар
тегістеу
тегістеу.таза
таза
таза
Аяқталды!
Бақытты аяқталу
Бұдан былай бүкіл жобаның нұсқасын өзгерту және бұл туралы барлық тәуелділіктерге хабарлау үшін бізге жай ғана элементті өңдеу керек.қайта қарау> тек түбірде pom.xml. Бірдей өзгерісі бар бұл файлдардың жүз немесе екі емес, біреуі шолуға келеді. Жақсы, пайдаланудың қажеті жоқ нұсқалар-maven-плагин.
Ақпарат көзі: www.habr.com