سؤال

هل هناك طريقة لإيقاف بيانات اعتماد SCM الخاصة بي حتى لا يتم تخزينها في بوم المشروع؟ المشكلة هي أن تكون موجودة في بوم المشروع، وسوف تكون مرئية للجميع عندما يتم نشر المشروع.

هل كانت مفيدة؟

المحلول

يمكن القيام بذلك للعديد من مقدمي خدمات SCM، أفترض التخريب كإجراء تنفيذ بناء على علاماتك.

يمكنك تحديد إعدادات التخريب الخاصة بك في user.home.home / .scm / svn-settings.xml (أو [maven home] / confconf/.scm/svn-settings.xml، على الرغم من أن هذا يعني أنها ستظل مرئية للمستخدمين النظام)

في هذا الملف، يمكنك تعيين اسم المستخدم وكلمة المرور الخاصة بك لخادم التخريب. يجب أن تبدو محتويات الملف هذه:

<svn-settings>
  <user>[svn user]</user>
  <password>[svn password]</password>
</svn-settings>

يمكنك تحديد بعض الخصائص الأخرى في ملف التكوين هذا. لمزيد من التفاصيل، انظر قسم "تكوين المزود" من Subversion SCM الصفحة.

تتمتع مقدمو خدمات SCM الأخرى بنهب مماثل، على سبيل المثال في CVS يتم تخزين الإعدادات في CVS-Settings.xml في نفس الموقع (مجلد .SCM)، راجع CVS SCM الصفحة للتفاصيل.

نصائح أخرى

بالنسبة لبعض موفري SCM، يمكنك تحديد بيانات الاعتماد الخاصة بك في <servers> قسم من settings.xml. وبعد كما <id> استخدم اسم مجال مستودعك. هذا يعمل بالنسبة لي مع mercurial. تصنع يعمل أيضا.

على سبيل المثال، بالنظر إلى بلدي pom.xml يحتوي على:

<scm>
  <connection>scm:hg:http://jukito.googlecode.com/hg/</connection>
  <developerConnection>scm:hg:https://jukito.googlecode.com/hg/</developerConnection>
  <url>http://code.google.com/p/jukito/source/browse/</url>
</scm>

ثم يمكنني تحديد بيانات الاعتماد الخاصة بي في settings.xml كما:

<server>
  <id>jukito.googlecode.com</id>
  <username>philippe.beaudoin</username>
  <password>1234567890ABC</password>
</server>

أدرك أن هذا السؤال قديم ويتم قبول الإجابات، ولكن من أجل الاكتمال ترغب في تقديم البديل التالي، والتي قد تفضل في بعض الحالات.

تحفيز

يحدث ذلك في بعض الأحيان أنه يستخدم نفس الخادم لعدة أغراض، مما يتطلب بيانات اعتماد مستخدم مختلفة. على سبيل المثال، يتم استخدامه لاستضافة مستودع MAVEN الذي يحركه Nexus وكذلك خادم SVN لديه بيانات اعتماد مختلفة لنفس المستخدم. في مثل هذه الحالات، سيكون هناك عدة <server> إدخالات مع نفسه id و username, ، ولكن مختلفة password. وبعد هذا، ومع ذلك، غير قابل للتطبيق.

المحلول

يدعم البرنامج المساعد في Maven الأعلام username و password التي يمكن توفيرها كجزء من release:prepare و release:perform أوامر. القيم ل username و password يجب أن تتطابق مع أوراق اعتماد SVN المعنية.

mvn release:prepare -Dusername=[username] -Dpassword=[password] 

لقد تمكنت من الحصول على هذا للعمل باستخدام الحل المقدم أعلاه أي إضافة تكوين خادم جديد إلى إعداداتي. xml وإعطاء اسم المجال كمعرف.

<server>
  <id>domain.name:port</id>
  <username>[username]</username>
  <password>[password]</password>
</server>

بالإضافة إلى الإجابة السابقة، إذا كنت تحدد منفذ في عنوان URL الخاص بك، فحتاج أيضا إلى Server.id. Quirk آخر وجدته هو أنك بحاجة إلى وضع كلمة المرور في علامات اقتباس إذا كانت تحتوي على أي أحرف قد تتداخل مع مكالمة سطر الأوامر.

لا يمكنك استخدام ما يلي في مستخدم $ الخاص بك. home / .scm / svn-settings.xm لأنها غير صالحة! لا توجد عناصر مثل هذه <user> و <password> تحت <svn-settings> (كما هو محدد هنا )

<svn-settings>
  <user>[svn user]</user>
  <password>[svn password]</password>
</svn-settings>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top