أضف بيانات اعتماد للسماح لـ Travis-CI باستخدام مستودع Nexus خاص

StackOverflow https://stackoverflow.com//questions/20013514

  •  21-12-2019
  •  | 
  •  

سؤال

أنا أستخدم ترافيس للتكامل المستمر.ومع ذلك، تعتمد مشاريعي على مستودع Nexus خاص.أفضل عدم التحقق من بيانات اعتماد sbt في مستودعنا.ترافيس يدعم مفاتيح التشفير لكنها تؤثر فقط على متغيرات البيئة.

كيف يمكنني جعل ترافيس يقوم بالمصادقة ضد Nexus؟ sbt لا يبدو أنه يدعم بيانات الاعتماد من متغير البيئة.

https://github.com/sbt/sbt/blob/0.13/launch/src/main/scala/xsbt/boot/Update.scala#L56

يبدو أن هناك دعمًا لتحديد ملف بيانات الاعتماد من متغير بيئة، أو لتحديد بيانات الاعتماد كخصائص للنظام.لسوء الحظ، لا يبدو أن هذا يعمل مع 0.13.

sbt -Dsbt.boot.realm="Sonatype Nexus Repository Manager" -Dsbt.boot.host="www.there.com" -Dsbt.boot.user="deployment" -Dsbt.boot.password="password" aether-deploy
هل كانت مفيدة؟

المحلول

يمكنك تعيين المتغيرات العامة في .travis.yml الخاص بك كما هو محدد هنا:http://docs.travis-ci.com/user/build-configuration/#Set-environment-variables

يمكن تشفير هذه المتغيرات العالمية لـ travis باستخدام جوهرة travis.وأوضح على سبيل المثال.هنا:كيفية استخدام .travis.yml الخاص بـ travis-ci لتوفير معلمات البيئة لتطبيق Node.js؟

نصائح أخرى

تريد استخدام متغيرات بيئة Travis الآمنة كما هو موثق.على افتراض أن متغيرات البيئة الخاصة بك هي NEXUS_USER و NEXUS_PASS, ، يجب أن يكون سطر الأوامر:

sbt 'set credentials += Credentials("Sonatype Nexus Repository Manager", "www.there.com", System.getenv("NEXUS_USER"), System.getenv("NEXUS_PASS"))' aether-deploy

يمكنك أيضًا الحصول على هذا الخط بأمان في جهازك build.sbt, ، إذا كنت تريد أن تجعل ذلك ممارسة قياسية للبنيات الخاصة بك.

ال وحدة جاكسون سكالا يستخدم هذا لنشر تصميمات Travis في مستودع Sonatype OSS.يمكنك لدينا .travis.yml لنرى كيف تم إعداده.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top