मावेन - तैनाती स्वचालन

परियोजना के विकास में, आम तौर पर एक तैनाती प्रक्रिया में निम्नलिखित चरण होते हैं -

  • एसवीएन (संस्करण नियंत्रण प्रणाली) या स्रोत कोड रिपॉजिटरी में प्रगति के सभी प्रोजेक्ट से चेक-इन कोड और टैग करें।

  • SVN से पूर्ण स्रोत कोड डाउनलोड करें।

  • एप्लिकेशन का निर्माण करें।

  • बिल्ड आउटपुट या तो WAR या EAR फ़ाइल को एक सामान्य नेटवर्क स्थान पर संग्रहीत करें।

  • नेटवर्क से फ़ाइल प्राप्त करें और फ़ाइल को उत्पादन साइट पर तैनात करें।

  • आवेदन की तारीख और अद्यतन संस्करण संख्या के साथ प्रलेखन अपडेट किया।

समस्या का विवरण

उपर्युक्त तैनाती प्रक्रिया में आम तौर पर कई लोग शामिल होते हैं। एक टीम कोड के चेक-इन को संभाल सकती है, अन्य निर्माण और इतने पर संभाल सकती है। यह बहुत संभावना है कि किसी भी कदम को बहु-टीम के वातावरण से जुड़े मैनुअल प्रयासों के कारण याद किया जा सकता है। उदाहरण के लिए, पुराने बिल्ड को नेटवर्क मशीन पर प्रतिस्थापित नहीं किया जा सकता है और तैनाती टीम को पुराने बिल्ड को फिर से तैनात किया जाता है।

उपाय

निम्नलिखित को मिलाकर तैनाती की प्रक्रिया को स्वचालित करें -

  • Maven, परियोजनाओं के निर्माण और जारी करने के लिए।
  • स्रोत कोड को प्रबंधित करने के लिए सबवर्सन, सोर्स कोड रिपॉजिटरी।
  • रिमोट रिपोजिटरी मैनेजर (Jfrog / Nexus) प्रोजेक्ट बायनेरिज़ का प्रबंधन करने के लिए।

प्रोजेक्ट POM.xml अपडेट करें

हम स्वचालित रिलीज़ प्रक्रिया बनाने के लिए मावेन रिलीज़ प्लग-इन का उपयोग करेंगे।

उदाहरण के लिए: बस-कोर-एपी प्रोजेक्ट POM.xml।

<project xmlns = "http://maven.apache.org/POM/4.0.0" 
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 
   http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>bus-core-api</groupId>
   <artifactId>bus-core-api</artifactId>
   <version>1.0-SNAPSHOT</version>
   <packaging>jar</packaging> 
   <scm>
      <url>http://www.svn.com</url>
      <connection>scm:svn:http://localhost:8080/svn/jrepo/trunk/
      Framework</connection>
      <developerConnection>scm:svn:${username}/${password}@localhost:8080:
      common_core_api:1101:code</developerConnection>
   </scm>
   <distributionManagement>
      <repository>
         <id>Core-API-Java-Release</id>
         <name>Release repository</name>
         <url>http://localhost:8081/nexus/content/repositories/
         Core-Api-Release</url>
      </repository>
   </distributionManagement>
   <build>
      <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>2.0-beta-9</version>
            <configuration>
               <useReleaseProfile>false</useReleaseProfile>
               <goals>deploy</goals>
               <scmCommentPrefix>[bus-core-api-release-checkin]-<
               /scmCommentPrefix>
            </configuration>
         </plugin>
      </plugins>
   </build>
</project>

Pom.xml में, हमारे द्वारा उपयोग किए जाने वाले महत्वपूर्ण तत्व निम्नलिखित हैं -

अनु क्रमांक। तत्व और विवरण
1

SCM

एसवीएन स्थान को कॉन्फ़िगर करता है जहां से मावेन स्रोत कोड की जांच करेगा।

2

Repositories

वह स्थान जहाँ निर्मित WAR / EAR / JAR या किसी अन्य कलाकृति को कोड बिल्ड के सफल होने के बाद संग्रहीत किया जाएगा।

3

Plugin

maven-release-plugin को परिनियोजन प्रक्रिया को स्वचालित करने के लिए कॉन्फ़िगर किया गया है।

मावेन रिलीज प्लग-इन

मावेन निम्नलिखित उपयोगी कार्यों का उपयोग करता है maven-release-plugin।

mvn release:clean

अंतिम रिलीज़ प्रक्रिया सफल नहीं होने की स्थिति में यह कार्यक्षेत्र को साफ़ करता है।

mvn release:rollback

अंतिम रिलीज़ प्रक्रिया सफल नहीं होने की स्थिति में कार्यक्षेत्र कोड और कॉन्फ़िगरेशन में किए गए परिवर्तनों को रोलबैक करें।

mvn release:prepare

कई ऑपरेशन करता है, जैसे कि -

  • जाँच करता है कि कोई स्थानीय परिवर्तन हुए हैं या नहीं।

  • यह सुनिश्चित करता है कि कोई SNAPSHOT निर्भरता नहीं हैं।

  • अनुप्रयोग का संस्करण बदलता है और रिलीज़ करने के लिए संस्करण से SNAPSHOT निकालता है।

  • SVN को pom फाइल अपडेट करें।

  • परीक्षण के मामले चलाएं।

  • संशोधित POM फ़ाइलें।

  • तोड़फोड़ में कोड टैग करें

  • संस्करण संख्या बढ़ाएँ और भविष्य में रिलीज़ के लिए SNAPSHOT संलग्न करें।

  • एसवीएन के लिए संशोधित पीओएम फाइलें।

mvn release:perform

पहले से परिभाषित टैग का उपयोग करके कोड की जाँच करता है और युद्ध के लिए युद्धपोत या निर्मित विरूपण साक्ष्य को तैनात करने के लिए मावेन को तैनात लक्ष्य चलाता है।

चलो कमांड कंसोल खोलें, पर जाएं C:\ > MVN >bus-core-api निर्देशिका और निम्नलिखित निष्पादित करें mvn आदेश।

>mvn release:prepare

मावेन परियोजना का निर्माण शुरू करेगा। एक बार निर्माण सफल होने के बाद निम्न कार्य करेंmvn आदेश।

>mvn release:perform

एक बार निर्माण सफल होने के बाद आप अपने भंडार में अपलोड की गई JAR फ़ाइल को सत्यापित कर सकते हैं।