আমি যে সর্বোত্তম সমাধানটি সন্ধান করতে পেরেছি সেগুলির মধ্যে এই পদক্ষেপগুলি রয়েছে:
mvn-repo
আপনার খাঁটি শিল্পকর্মগুলি হোস্ট করার জন্য ডাকা একটি শাখা তৈরি করুন ।
- আপনার শিল্পকলাগুলি গিথুবে ঠেলে দিতে গিথুব সাইট-মাভেন-প্লাগইন ব্যবহার করুন ।
- ম্যাভেনকে আপনার রিমোটটি
mvn-repo
ম্যাভেন সংগ্রহস্থল হিসাবে ব্যবহার করতে কনফিগার করুন ।
এই পদ্ধতির ব্যবহারের বিভিন্ন সুবিধা রয়েছে:
- মাভেন শিল্পকলাগুলি আপনার উত্স থেকে পৃথক নামে পরিচিত একটি পৃথক শাখায় রাখা হয়
mvn-repo
, অনেকটা গিথুব পৃষ্ঠাগুলির মতো একটি পৃথক শাখায় রাখা হয় gh-pages
(যদি আপনি গিথাব পৃষ্ঠাগুলি ব্যবহার করেন)
- কিছু প্রস্তাবিত সমাধানগুলির বিপরীতে,
gh-pages
আপনি যদি সেগুলি ব্যবহার করেন তবে এটির সাথে আপনার বিরোধ নেই ।
- প্রাকৃতিকভাবে ডিফল্ট টার্গেটের সাথে সম্পর্ক স্থাপন করুন যাতে শেখার জন্য কোনও নতুন মাভেন কমান্ড নেই।
mvn deploy
আপনি যেমনটি করেন ঠিক তেমন ব্যবহার করুন
রিমোট মেভেন রেপোতে আপনি শৈল্পিক স্থাপনের সাধারণ উপায়টি হ'ল ব্যবহার করা mvn deploy
, সুতরাং আসুন এই সমাধানের জন্য সেই প্রক্রিয়াটি প্যাচ করুন।
প্রথমে maven কে আপনার টার্গেট ডিরেক্টরিতে অস্থায়ী মঞ্চস্থ স্থানে নিদর্শনগুলি স্থাপন করতে বলুন। এটি আপনার যুক্ত করুন pom.xml
:
<distributionManagement>
<repository>
<id>internal.repo</id>
<name>Temporary Staging Repository</name>
<url>file://${project.build.directory}/mvn-repo</url>
</repository>
</distributionManagement>
<plugins>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.1</version>
<configuration>
<altDeploymentRepository>internal.repo::default::file://${project.build.directory}/mvn-repo</altDeploymentRepository>
</configuration>
</plugin>
</plugins>
এখন চালানোর চেষ্টা করুন mvn clean deploy
। আপনি দেখতে পাবেন যে এটি আপনার মেভেনের সংগ্রহস্থলটিকে মোতায়েন করেছে target/mvn-repo
। পরবর্তী পদক্ষেপটি হ'ল ডিরেক্টরিটি গিটিহাবটিতে আপলোড করতে।
আপনার প্রমাণীকরণের তথ্য এতে যুক্ত করুন ~/.m2/settings.xml
যাতে গিথব গিটহাবের দিকে site-maven-plugin
চাপ দিতে পারে:
<!-- NOTE: MAKE SURE THAT settings.xml IS NOT WORLD READABLE! -->
<settings>
<servers>
<server>
<id>github</id>
<username>YOUR-USERNAME</username>
<password>YOUR-PASSWORD</password>
</server>
</servers>
</settings>
(উল্লিখিত হিসাবে, অনুগ্রহ chmod 700 settings.xml
করে ফাইলটিতে আপনার পাসওয়ার্ডটি কেউ পড়তে না পারে তা নিশ্চিত করে নিশ্চিত করুন someone কেউ যদি কোনও কনফিগার ফাইলের পরিবর্তে কোনও পাসওয়ার্ডের জন্য কীভাবে সাইট-মভেন-প্লাগইন প্রম্পট করতে হয় তা আমাকে জানান))
তারপরে site-maven-plugin
আপনার পোমে নিম্নলিখিতগুলি যুক্ত করে সদ্য কনফিগার করা নতুন সার্ভার সম্পর্কে গিটহাবকে বলুন :
<properties>
<!-- github server corresponds to entry in ~/.m2/settings.xml -->
<github.global.server>github</github.global.server>
</properties>
অবশেষে, site-maven-plugin
আপনার অস্থায়ী স্টেজিং রেপো থেকে mvn-repo
গিথুবে আপনার শাখায় আপলোড করার জন্য কনফিগার করুন :
<build>
<plugins>
<plugin>
<groupId>com.github.github</groupId>
<artifactId>site-maven-plugin</artifactId>
<version>0.11</version>
<configuration>
<message>Maven artifacts for ${project.version}</message> <!-- git commit message -->
<noJekyll>true</noJekyll> <!-- disable webpage processing -->
<outputDirectory>${project.build.directory}/mvn-repo</outputDirectory> <!-- matches distribution management repository url above -->
<branch>refs/heads/mvn-repo</branch> <!-- remote branch name -->
<includes><include>**/*</include></includes>
<repositoryName>YOUR-REPOSITORY-NAME</repositoryName> <!-- github repo name -->
<repositoryOwner>YOUR-GITHUB-USERNAME</repositoryOwner> <!-- github username -->
</configuration>
<executions>
<!-- run site-maven-plugin's 'site' target as part of the build's normal 'deploy' phase -->
<execution>
<goals>
<goal>site</goal>
</goals>
<phase>deploy</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
mvn-repo
শাখা এটা আপনার জন্য তৈরি করা হবে, অস্তিত্ব দরকার নেই।
এবার mvn clean deploy
আবার দৌড়াও । টার্গেট ডিরেক্টরিতে আপনার স্থানীয় স্টেজিং স্টোরগুলিতে ফাইলগুলি আপলোড-প্লাগইন "আপলোড" করতে হবে, তারপরে সাইট-ম্যাভেন-প্লাগইন সেই ফাইলগুলি প্রতিশ্রুতিবদ্ধ করে সার্ভারে ঠেলাচ্ছে push
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building DaoCore 1.3-SNAPSHOT
[INFO] ------------------------------------------------------------------------
...
[INFO] --- maven-deploy-plugin:2.5:deploy (default-deploy) @ greendao ---
Uploaded: file:///Users/mike/Projects/greendao-emmby/DaoCore/target/mvn-repo/com/greendao-orm/greendao/1.3-SNAPSHOT/greendao-1.3-20121223.182256-3.jar (77 KB at 2936.9 KB/sec)
Uploaded: file:///Users/mike/Projects/greendao-emmby/DaoCore/target/mvn-repo/com/greendao-orm/greendao/1.3-SNAPSHOT/greendao-1.3-20121223.182256-3.pom (3 KB at 1402.3 KB/sec)
Uploaded: file:///Users/mike/Projects/greendao-emmby/DaoCore/target/mvn-repo/com/greendao-orm/greendao/1.3-SNAPSHOT/maven-metadata.xml (768 B at 150.0 KB/sec)
Uploaded: file:///Users/mike/Projects/greendao-emmby/DaoCore/target/mvn-repo/com/greendao-orm/greendao/maven-metadata.xml (282 B at 91.8 KB/sec)
[INFO]
[INFO] --- site-maven-plugin:0.7:site (default) @ greendao ---
[INFO] Creating 24 blobs
[INFO] Creating tree with 25 blob entries
[INFO] Creating commit with SHA-1: 0b8444e487a8acf9caabe7ec18a4e9cff4964809
[INFO] Updating reference refs/heads/mvn-repo from ab7afb9a228bf33d9e04db39d178f96a7a225593 to 0b8444e487a8acf9caabe7ec18a4e9cff4964809
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.595s
[INFO] Finished at: Sun Dec 23 11:23:03 MST 2012
[INFO] Final Memory: 9M/81M
[INFO] ------------------------------------------------------------------------
আপনার ব্রাউজারে github.com দেখুন, mvn-repo
শাখা নির্বাচন করুন এবং আপনার সমস্ত বাইনারি এখন সেখানে রয়েছে তা যাচাই করুন।
অভিনন্দন!
আপনি এখন কেবল চালিয়ে দরিদ্র ব্যক্তির পাবলিক রেপোতে আপনার খোদাই করা শিল্পকর্মগুলি স্থাপন করতে পারেন mvn clean deploy
।
আপনার আরও একটি পদক্ষেপ নিতে হবে যা আপনার পোমের উপর নির্ভর করে এমন কোনও পোমগুলি কনফিগার করতে হবে যেখানে আপনার সংগ্রহস্থলটি রয়েছে know আপনার প্রকল্পের উপর নির্ভর করে যে কোনও প্রকল্পের পিমে নিম্নলিখিত স্নিপেট যুক্ত করুন:
<repositories>
<repository>
<id>YOUR-PROJECT-NAME-mvn-repo</id>
<url>https://github.com/YOUR-USERNAME/YOUR-PROJECT-NAME/raw/mvn-repo/</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
এখন আপনার জার ফাইলগুলির জন্য যে কোনও প্রকল্পের প্রয়োজন হয় তা সেগুলি স্বয়ংক্রিয়ভাবে আপনার গিথুব মাভেন সংগ্রহশালা থেকে ডাউনলোড করবে।
সম্পাদনা করুন: মন্তব্যগুলিতে উল্লিখিত সমস্যা এড়াতে ('প্রতিশ্রুতি তৈরি করতে ত্রুটি: অবৈধ অনুরোধ