English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

توزيع تلقائي باستخدام Maven

في عملية التوزيع أثناء تطوير المشروع، تتضمن الخطوات التالية:

  • إرسال شيفرة المشروع إلى SVN أو مستودع الشيفرة ووضع علامة عليها.

  • استيراد الشيفرة المصدرية الكاملة من SVN.

  • بناء التطبيق.

  • تخزين ملفات الإصدار من الحشوات WAR أو EAR في موقع شائع على الشبكة.

  • استيراد الملفات من الإنترنت وتوزيعها على الموقع الإنتاجي.

  • تحديث الوثائق وتحديث رقم إصدار التطبيق.

وصف المشكلة

في معظم الحالات، يمكن أن تتضمن عملية التطوير المذكورة عدة فرق. قد تكون مجموعة من المسؤولين عن تقديم الشيفرة، وأخرى مسؤولة عن البناء وما إلى ذلك. قد يحدث خطأ في أي خطوة بسبب التدخل البشري بيئات الفرق المتعددة. على سبيل المثال، لم يتم تحديث إصدار قديم على جهاز شبكة، ثم أطلق فريق التوزيع إصدار بناء أقدم.

الحل

من خلال دمج الاتي لتحقيق التوزيع التلقائي:

  • استخدام Maven لبناء وإطلاق المشروع

  • استخدام SubVersion، مستودع المصدر لإدارة الشيفرة المصدرية

  • استخدام برنامج إدارة مستودعات البنية (Jfrog أو Nexus) لإدارة ملفات المشروع الثنائية.

تعديل ملف pom.xml المشروع

سنستخدم مكونات إضافة Maven للإطلاق لإنشاء عملية إطلاق تلقائية.

على سبيل المثال، شيفرة ملف pom.xml لمشروع bus-core-api كالتالي:

<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/</connection>
      Framework</connection>
      <developerConnection>scm:svn:${username}/${password}@localhost:8080:</developerConnection>
      common_core_api:1101:code</developerConnection>
   </scm>
   <distributionManagement>
      <repository>
         <id>Core-API-Java-Release</id>
         <name>مكتبة الإصدار</name>
         <url>http://localhost:8081/nexus/content/repositories/</url>
         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، نستخدم بعض العناصر المهمة كالتالي في الجدول التالي:

نقطة العنصروصف
إدارة النسخ الإضافيتسجيل مسار SVN، حيث سينسخ Maven الكود من هذا المسار.
مكتبةموقعية ملفات WAR أو EAR أو JAR المبنية، أو مواقع التخزين للعناصر المبنية بنجاح من مصادر البناء.
Pluginتكوين مكون إضافي maven-release-plugin لتحقيق عملية التوزيع التلقائي.

مكون إضافي إصدار Maven

يستخدم Maven مكون إضافي maven-release-plugin للقيام بما يلي.

mvn release:clean

تنظيف المساحة العملية لضمان نجاح عملية الإصدار الأحدث.

mvn release:rollback

في حالة فشل عملية الإصدار السابقة، استعدل عمل المساحة العملية والتكوين لضمان نجاح عملية الإصدار.

mvn release:prepare

تنفيذ عدة عمليات:

  • تحقق مما إذا كانت هناك تعديلات لم يتم تقديمها محليًا

  • تأكد من عدم وجود تبعيات مستنسخة

  • تغيير معلومات إصدار التطبيق لإصدار

  • تحديث ملف POM إلى SVN

  • تشغيل حالات الاختبار

  • تقديم ملف POM المعدل

  • إضافة علامة إلى الكود في SVN

  • إضافة رقم الإصدار وسحابة المستنسخة للاستخدام في الإصدارات القادمة

  • تقديم ملف POM المعدل إلى SVN

mvn release:perform

انتقل إلى الكود الذي تم تحديده مسبقًا، وابدأ في تشغيل هدف التوزيع Maven لتوزيع ملف WAR أو بناء بنية إلى المستودع.

افتح محطة الأوامر، انتقل إلى مجلد C:\ > MVN >bus-core-api، ثم أecute الأمر التالي Maven.

C:\MVN\bus-core-api>mvn release:prepare

يبدأ Maven في بناء المشروع بأكمله. بعد بناء النظام بنجاح، يمكنك تشغيل الأمر التالي Maven.

C:\MVN\bus-core-api>mvn release:perform

بعد بناء النظام، يمكنك التحقق مما إذا كان ملف JAR الذي قمت بتحميله في مستودعك يعمل بشكل صحيح.