ስለ እኛ
በ 1C ላይ መድረክን ብቻ ሳይሆን እናዘጋጃለን
ግቤት
ብዙ ጊዜ ለጃቫ አፕሊኬሽኖች ማቨንን እንደ ግንባታ ስርዓት እንጠቀማለን እና በዚህ አጭር መጣጥፍ ውስጥ በልማት ማደራጀት ሂደት ውስጥ ካጋጠሙን ችግሮች መካከል አንዱን እና ይህንን ለማሸነፍ ስላስቻለን አቀራረብ ማውራት እንፈልጋለን። ችግር
ቅድመ-ሁኔታዎች እና የስራ ሂደት
በማቨን ፕሮጀክቶቻችን ውስጥ ባለው የእድገት ልዩነት ምክንያት፣ በጣም ብዙ ሞጁሎችን፣ ጥገኞችን እና የልጆች ፕሮጀክቶችን እንጠቀማለን። በአንድ ዛፍ ውስጥ ያሉት የፖም ፋይሎች ቁጥር በአስር ወይም በመቶዎች ሊሆን ይችላል.
የሚመስለው: ምንም ትልቅ ነገር አይደለም, አንድ ጊዜ ፈጥረው ረስተውታል. በሁሉም ፋይሎች ውስጥ የሆነ ነገር በአንድ ጊዜ መለወጥ ወይም ማከል ከፈለጉ በአርታዒዎች እና IDEዎች ውስጥ ብዙ ምቹ መሳሪያዎች አሉ። ወደ pom.xml በጣም የተለመደው መደበኛ ለውጥ ምንድነው? በፕሮጀክት ስሪቶች እና ጥገኞች ላይ ለውጦች እንዳሉ እናምናለን። ምናልባት አንድ ሰው ከዚህ ጋር መሟገት ይፈልግ ይሆናል, ነገር ግን ይህ በእኛ ላይ ያለው ሁኔታ ነው. ምክንያቱ ከከርነል ጋር በአንድ ጊዜ ብዙ የራሳችንን ቤተ-መጻሕፍት እያዘጋጀን ነው፣ እና ለግንባታ እና ለሙከራ ውጤቶች የማያቋርጥ ድግግሞሽ ፣ ቅጽበተ-ፎቶዎችን መጠቀም ለእኛ ምቹ አቀራረብ አይመስለንም። በዚህ ምክንያት በእያንዳንዱ ግንባታ በፕሮጀክቶች ውስጥ የስሪት ቁጥሩን ማሳደግ አስፈላጊ ነው.
እንዲሁም ከጊዜ ወደ ጊዜ አንድ ገንቢ የራሱን የቤተ-መጽሐፍት ቅርንጫፍ መገንባት እና ተግባራቱን በሁሉም ጥገኞች ላይ ማረጋገጥ ያስፈልገዋል, ለዚህም የሁሉንም ሥሪት በእጅ መለወጥ አለበት.
የመጀመሪያ መፍትሄ
በእንደዚህ አይነት ተደጋጋሚ እና ብዙ ስሪት ለውጦች, ሂደቱን በ CI ውስጥ ቀላል ማድረግ እና በራስ-ሰር ማድረግ እፈልጋለሁ. ምቹ ፣ የታወቀ ፕለጊን ለማዳን የሚመጣው እዚህ ነው። ስሪቶች-maven-plugin - ያገናኙት እና ያስጀምሩት።
mvn -N ስሪቶች፡set -DnewVersion=2.0.1
እና ማቨን ሁሉንም ነገር እንደ ሚገባው ያደርጋል፡ ሁሉንም ስሪቶች በመተካት ከላይ እስከ ታች ባለው ተዋረድ ውስጥ ያልፋል - ውበት! አሁን የቀረው ነገር የመሳብ ጥያቄን ማንሳት ብቻ ነው፣ ባልደረቦች ለውጦቹን ይገመግማሉ፣ እና ግንዱን በፍጥነት መቀላቀል ይችላሉ። በፍጥነት? ምንም ይሁን ምን. ሁለት መቶ ፖም ለግምገማ, እና ይሄ ኮዱን አይቆጠርም. በተጨማሪም, ማንም ሰው እንደዚህ ካሉ ብዙ ቁጥር ከተቀየሩ ፋይሎች ጋር ከመዋሃድ የተጠበቀ አይደለም. እዚህ ላይ ልብ ሊባል የሚገባው በ CI ሂደት ውስጥ, የስሪት ለውጦች ከተግባራዊ ለውጦች ጋር በራስ-ሰር ይከሰታሉ, እና በተለየ መንገድ አይደለም.
አዲስ ባህሪያት
ለተወሰነ ጊዜ ተረጋጋን እና እራሳችንን ለቀቅን ፣ እስከ ሰዎቹ ድረስ እንደዛ ኖርን።
mvn -Drevision=2.0.0 ንጹህ ጥቅል
የስርዓት ንብረት ዋጋዎች ከተገለጹት እሴቶች የበለጠ ቅድሚያ ይሰጣሉንብረቶች>.
ወላጅ
4.0.0
org.apache
apache
18
org.apache.maven.ci
ሲ-ወላጅ
የመጀመሪያው CI ተስማሚ
${ክለሳ}${sha1}${changelist}
...
1.3.1
- SAPSHOT
ዘር
4.0.0
org.apache.maven.ci
ሲ-ወላጅ
${ክለሳ}${sha1}${changelist}
org.apache.maven.ci
ሲ-ልጅ
...
ስሪት 2.0.0-SNAPSHOT ን መገንባት ከፈለጉ ከዚያ ብቻ ይጠቀሙ
mvn -Drevision=2.0.0 ንጹህ ጥቅል
መልቀቅ ከፈለጉ፣ SNAPSHOTን እንደገና ያስጀምሩ
mvn -Dchangelist= ንጹህ ጥቅል
*ከላይ ያሉት ምሳሌዎች የተወሰዱት ከ
ከባድ እውነታ
ሁሉም ነገር ጥሩ እና ጤናማ ነው, የእርካታ ስሜት ለመሰማት ጊዜው አሁን ነው, ግን አይደለም. በማጠራቀሚያው ውስጥ በሚታተሙ የዕቃዎች መግለጫዎች ውስጥ ስለማይተካ ይህ ዘዴ ለመጫን እና ለማሰማራት አይሰራም። ${ክለሳ} በትርጉሙ ላይ እና ማቨን ስለ ምን እንደሆነ አይረዳም።
org.apache
apache
${ክለሳ}
በዋሻው መጨረሻ ላይ መብራት
ለችግሩ መፍትሄ መፈለግ አለብን. ሁኔታውን ማዳን ይችል ነበር።
በፕሮጀክቱ ላይ ተሰኪ ማከል
org.codehaus.mojo
ጠፍጣፋ-maven-plugin
1.1.0
እውነት ነው።
የFriendliesን ብቻ መፍታት
ጠፍጣፋ
ሂደት-ሀብቶች
ጠፍጣፋ
ጠፍጣፋ.ንፁህ
ንፁህ
ንፁህ
ተጠናቋል!
ደስ የሚል ፍጻሜ
ከአሁን ጀምሮ የጠቅላላውን ፕሮጀክት ስሪት ለመለወጥ እና ሁሉንም ጥገኞች ስለእሱ ለማሳወቅ ኤለመንቱን ማረም ብቻ ያስፈልገናል.መድገም> በስሩ ብቻ ፖም. ተመሳሳይ ለውጥ ካላቸው እነዚህ ፋይሎች አንድ መቶ ወይም ሁለት አይደሉም በግምገማው ላይ አይደርሱም ፣ ግን አንድ። ደህና, መጠቀም አያስፈልግም ስሪቶች-maven-plugin.
ምንጭ: hab.com