በ maven ፕሮጀክቶች ውስጥ ሥሪትን ለማቃለል ጠፍጣፋ-maven-pluginን በመጠቀም ይለማመዱ

ስለ እኛ

በ 1C ላይ መድረክን ብቻ ሳይሆን እናዘጋጃለን 1C: ድርጅት ላይ ሲ ++ и ጃቫስክሪፕት, ነገር ግን የጃቫ አፕሊኬሽኖች - በተለይም አዲሱ የልማት አካባቢ የድርጅት ልማት መሳሪያዎች በ Eclipse ላይ የተመሰረተ እና ከመድረክ ጋር በጥልቀት የተዋሃደ የመልእክተኛ አገልጋይ - መስተጋብር ስርዓቶች.

ግቤት

ብዙ ጊዜ ለጃቫ አፕሊኬሽኖች ማቨንን እንደ ግንባታ ስርዓት እንጠቀማለን እና በዚህ አጭር መጣጥፍ ውስጥ በልማት ማደራጀት ሂደት ውስጥ ካጋጠሙን ችግሮች መካከል አንዱን እና ይህንን ለማሸነፍ ስላስቻለን አቀራረብ ማውራት እንፈልጋለን። ችግር

ቅድመ-ሁኔታዎች እና የስራ ሂደት

በማቨን ፕሮጀክቶቻችን ውስጥ ባለው የእድገት ልዩነት ምክንያት፣ በጣም ብዙ ሞጁሎችን፣ ጥገኞችን እና የልጆች ፕሮጀክቶችን እንጠቀማለን። በአንድ ዛፍ ውስጥ ያሉት የፖም ፋይሎች ቁጥር በአስር ወይም በመቶዎች ሊሆን ይችላል.

በ maven ፕሮጀክቶች ውስጥ ሥሪትን ለማቃለል ጠፍጣፋ-maven-pluginን በመጠቀም ይለማመዱ

የሚመስለው: ምንም ትልቅ ነገር አይደለም, አንድ ጊዜ ፈጥረው ረስተውታል. በሁሉም ፋይሎች ውስጥ የሆነ ነገር በአንድ ጊዜ መለወጥ ወይም ማከል ከፈለጉ በአርታዒዎች እና IDEዎች ውስጥ ብዙ ምቹ መሳሪያዎች አሉ። ወደ pom.xml በጣም የተለመደው መደበኛ ለውጥ ምንድነው? በፕሮጀክት ስሪቶች እና ጥገኞች ላይ ለውጦች እንዳሉ እናምናለን። ምናልባት አንድ ሰው ከዚህ ጋር መሟገት ይፈልግ ይሆናል, ነገር ግን ይህ በእኛ ላይ ያለው ሁኔታ ነው. ምክንያቱ ከከርነል ጋር በአንድ ጊዜ ብዙ የራሳችንን ቤተ-መጻሕፍት እያዘጋጀን ነው፣ እና ለግንባታ እና ለሙከራ ውጤቶች የማያቋርጥ ድግግሞሽ ፣ ቅጽበተ-ፎቶዎችን መጠቀም ለእኛ ምቹ አቀራረብ አይመስለንም። በዚህ ምክንያት በእያንዳንዱ ግንባታ በፕሮጀክቶች ውስጥ የስሪት ቁጥሩን ማሳደግ አስፈላጊ ነው.

እንዲሁም ከጊዜ ወደ ጊዜ አንድ ገንቢ የራሱን የቤተ-መጽሐፍት ቅርንጫፍ መገንባት እና ተግባራቱን በሁሉም ጥገኞች ላይ ማረጋገጥ ያስፈልገዋል, ለዚህም የሁሉንም ሥሪት በእጅ መለወጥ አለበት.

የመጀመሪያ መፍትሄ

በእንደዚህ አይነት ተደጋጋሚ እና ብዙ ስሪት ለውጦች, ሂደቱን በ CI ውስጥ ቀላል ማድረግ እና በራስ-ሰር ማድረግ እፈልጋለሁ. ምቹ ፣ የታወቀ ፕለጊን ለማዳን የሚመጣው እዚህ ነው። ስሪቶች-maven-plugin - ያገናኙት እና ያስጀምሩት።

mvn -N ስሪቶች፡set -DnewVersion=2.0.1

እና ማቨን ሁሉንም ነገር እንደ ሚገባው ያደርጋል፡ ሁሉንም ስሪቶች በመተካት ከላይ እስከ ታች ባለው ተዋረድ ውስጥ ያልፋል - ውበት! አሁን የቀረው ነገር የመሳብ ጥያቄን ማንሳት ብቻ ነው፣ ባልደረቦች ለውጦቹን ይገመግማሉ፣ እና ግንዱን በፍጥነት መቀላቀል ይችላሉ። በፍጥነት? ምንም ይሁን ምን. ሁለት መቶ ፖም ለግምገማ, እና ይሄ ኮዱን አይቆጠርም. በተጨማሪም, ማንም ሰው እንደዚህ ካሉ ብዙ ቁጥር ከተቀየሩ ፋይሎች ጋር ከመዋሃድ የተጠበቀ አይደለም. እዚህ ላይ ልብ ሊባል የሚገባው በ CI ሂደት ውስጥ, የስሪት ለውጦች ከተግባራዊ ለውጦች ጋር በራስ-ሰር ይከሰታሉ, እና በተለየ መንገድ አይደለም.

አዲስ ባህሪያት

ለተወሰነ ጊዜ ተረጋጋን እና እራሳችንን ለቀቅን ፣ እስከ ሰዎቹ ድረስ እንደዛ ኖርን። Maven Apache ፕሮጀክት ከስሪት 3.5.0-beta-1 ጀምሮ፣ ማቨን “ቦታ ያዥ” ለሚሉት ድጋፍ አላካተተም። የእነዚህ ተተኪዎች ይዘት ይህ ነው። ፖም የፕሮጀክት ሥሪት የተለየ ምልክት ሳይሆን ተለዋዋጮች ጥቅም ላይ ይውላሉ ${ክለሳ}, ${sha1} и ${changelist}. የእነዚህ ንብረቶች እሴቶች እራሳቸው በንጥሉ ውስጥ ተቀምጠዋልንብረቶች>፣ ወይም በስርዓት ንብረት በኩል ሊገለጹ ይችላሉ።

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= ንጹህ ጥቅል

*ከላይ ያሉት ምሳሌዎች የተወሰዱት ከ መጣጥፎች በ Maven Apache Project ድህረ ገጽ ላይ

ከባድ እውነታ

ሁሉም ነገር ጥሩ እና ጤናማ ነው, የእርካታ ስሜት ለመሰማት ጊዜው አሁን ነው, ግን አይደለም. በማጠራቀሚያው ውስጥ በሚታተሙ የዕቃዎች መግለጫዎች ውስጥ ስለማይተካ ይህ ዘዴ ለመጫን እና ለማሰማራት አይሰራም። ${ክለሳ} በትርጉሙ ላይ እና ማቨን ስለ ምን እንደሆነ አይረዳም።


    org.apache
    apache
    ${ክለሳ}

በዋሻው መጨረሻ ላይ መብራት

ለችግሩ መፍትሄ መፈለግ አለብን. ሁኔታውን ማዳን ይችል ነበር። ጠፍጣፋ-maven-plugin. ይህ ፕለጊን በፖም ውስጥ ያሉትን ሁሉንም ተለዋዋጮች ይፈታል, ግን በተመሳሳይ ጊዜ በሚሰበሰቡበት ጊዜ ብቻ አስፈላጊ የሆኑትን እና የታተሙ ቅርሶችን ወደ ሌሎች ፕሮጀክቶች በሚያስገቡበት ጊዜ የማይፈለጉ ብዙ ሌሎች መረጃዎችን ያቋርጣል. በተጨማሪም ፕለጊኑ ሁሉንም የወላጅ-ልጅ ጥገኞችን "ቀጥ ያደርጋል" እና በዚህም ምክንያት የሚፈልጉትን ሁሉ ያካተተ ጠፍጣፋ ፖም ያገኛሉ. አለመመቸቱ በጣም ብዙ “ተጨማሪ” ቆርጦ መውጣቱ ነበር፣ ይህም ለእኛ በፍጹም አይስማማም። በዚህ ተሰኪ ልማት ላይ ያለውን መረጃ ካጠናን በኋላ በአጽናፈ ሰማይ ውስጥ እኛ ብቻ እንዳልሆንን ተገለጠ እና በነሐሴ 2018 ፣ በፕለጊን ማከማቻ ውስጥ በ Github ላይ የመጎተት ጥያቄ ተፈጥሯል ። pom.xml እንዴት "እንደሚበላሽ" በራሳችን ለመወሰን. ገንቢዎቹ የሚሰቃዩትን ሰዎች ድምጽ ያዳምጡ ነበር, እና ቀድሞውኑ በታህሳስ ውስጥ, አዲሱ ስሪት 1.1.0 ሲወጣ, አዲስ ሁነታ, መፍታትCiFriendliesOnly, ከመቼውም በበለጠ ተስማሚ በሆነው ጠፍጣፋ-ማቨን-ተሰኪ ውስጥ ታየ - ትቶ ይሄዳል pom.xml እንዳለ፣ ከኤለመንት በስተቀር እና ይፈቅዳል ${ክለሳ}, ${sha1} и ${changelist}.

በፕሮጀክቱ ላይ ተሰኪ ማከል


  
    org.codehaus.mojo
    ጠፍጣፋ-maven-plugin
    1.1.0
    
      እውነት ነው።
      የFriendliesን ብቻ መፍታት
    
    
      
        ጠፍጣፋ
        ሂደት-ሀብቶች
        
          ጠፍጣፋ
        
      
      
        ጠፍጣፋ.ንፁህ
        ንፁህ
        
          ንፁህ
        
      
    
  

ተጠናቋል!

ደስ የሚል ፍጻሜ

ከአሁን ጀምሮ የጠቅላላውን ፕሮጀክት ስሪት ለመለወጥ እና ሁሉንም ጥገኞች ስለእሱ ለማሳወቅ ኤለመንቱን ማረም ብቻ ያስፈልገናል.መድገም> በስሩ ብቻ ፖም. ተመሳሳይ ለውጥ ካላቸው እነዚህ ፋይሎች አንድ መቶ ወይም ሁለት አይደሉም በግምገማው ላይ አይደርሱም ፣ ግን አንድ። ደህና, መጠቀም አያስፈልግም ስሪቶች-maven-plugin.

ምንጭ: hab.com

አስተያየት ያክሉ