npmAuthenticate@0 - مصادقة npm (لمشغلي المهام) v0
استخدم هذه المهمة لتوفير npm
بيانات الاعتماد لملف .npmrc
في المستودع الخاص بك لنطاق البناء. وهذا يمكن ، بالإضافة npm
إلى مشغلي المهام مثل gulp وGreunt، من npm
المصادقة مع السجلات الخاصة.
بناء الجملة
# npm authenticate (for task runners) v0
# Don't use this task if you're also using the npm task. Provides npm credentials to an .npmrc file in your repository for the scope of the build. This enables npm task runners like gulp and Grunt to authenticate with private registries.
- task: npmAuthenticate@0
inputs:
workingFile: # string. Required. .npmrc file to authenticate.
#customEndpoint: # string. Credentials for registries outside this organization/collection.
# npm Authenticate (for task runners) v0
# Don't use this task if you're also using the npm task. Provides npm credentials to an .npmrc file in your repository for the scope of the build. This enables npm task runners like Gulp and Grunt to authenticate with private registries.
- task: npmAuthenticate@0
inputs:
#workingFile: # string. .npmrc file to authenticate.
#customEndpoint: # string. Credentials for registries outside this account/collection.
الإدخالات
workingFile
- ملف .npmrc للمصادقة
string
. مطلوب
المسار إلى .npmrc
الملف الذي يحدد السجلات التي تريد العمل معها. حدد الملف، وليس المجلد، مثل /packages/mypackage.npmrc
.
workingFile
- ملف .npmrc للمصادقة
string
.
المسار إلى .npmrc
الملف الذي يحدد السجلات التي تريد العمل معها. حدد الملف، وليس المجلد، مثل /packages/mypackage.npmrc
.
customEndpoint
- بيانات الاعتماد للسجلات خارج هذه المؤسسة/المجموعة
string
.
القائمة المفصولة بفاصلة لأسماء اتصال خدمة npm للسجلات خارج هذه المؤسسة أو المجموعة. يجب أن يحتوي الملف المحدد .npmrc
على إدخالات السجل المقابلة لاتصالات الخدمة. إذا كنت بحاجة فقط إلى سجلات في هذه المؤسسة أو المجموعة، فاترك هذا فارغا. يتم استخدام بيانات اعتماد البنية تلقائيا.
customEndpoint
- بيانات الاعتماد للسجلات خارج هذا الحساب/المجموعة
string
.
القائمة المفصولة بفاصلة لأسماء اتصال خدمة npm للسجلات خارج هذه المؤسسة أو المجموعة. يجب أن يحتوي الملف المحدد .npmrc
على إدخالات السجل المقابلة لاتصالات الخدمة. إذا كنت بحاجة فقط إلى سجلات في هذه المؤسسة أو المجموعة، فاترك هذا فارغا. يتم استخدام بيانات اعتماد البنية تلقائيا.
خيارات التحكم بالمهمة
تحتوي جميع المهام على خيارات التحكم بالإضافة إلى مدخلات المهام الخاصة بها. لمزيد من المعلومات، راجع خيارات التحكم وخصائص المهمة الشائعة.
متغيرات الإخراج
لا شيء
الملاحظات
استخدم هذه المهمة لتوفير npm
بيانات الاعتماد لملف .npmrc
في المستودع الخاص بك لنطاق البناء. وهذا يمكن ، بالإضافة npm
إلى مشغلي المهام مثل gulp وGreunt، من npm
المصادقة مع السجلات الخاصة.
- كيف تعمل هذه المهمة؟
- متى يجب أن أقوم بتشغيل هذه المهمة في البنية الأساسية لبرنامج ربط العمليات التجارية؟
- لدي العديد من مشاريع npm. هل أحتاج إلى تشغيل هذه المهمة لكل ملف .npmrc؟
- وكيلي خلف وكيل ويب. هل سيتم
npmAuthenticate
الإعدادnpm/gulp/Grunt
لاستخدام الوكيل الخاص بي؟ - يحتاج المسار الخاص بي إلى الوصول إلى موجز في مشروع مختلف
كيف تعمل هذه المهمة؟
تبحث هذه المهمة في الملف المحدد .npmrc
عن إدخالات السجل، ثم إلحاق تفاصيل المصادقة للسجلات المكتشفة بنهاية الملف. بالنسبة لجميع السجلات في المؤسسة/المجموعة الحالية، يتم استخدام بيانات اعتماد البناء. بالنسبة للسجلات في مؤسسة مختلفة أو مستضافة من قبل جهة خارجية، ستتم مقارنة معرفات URL الخاصة بالسجل بعناوين URL لاتصالات خدمة npm المحددة بواسطة customEndpoint
الإدخال، وسيتم استخدام بيانات الاعتماد المقابلة. .npmrc
سيتم إرجاع الملف إلى حالته الأصلية في نهاية تنفيذ البنية الأساسية لبرنامج ربط العمليات التجارية.
متى يجب أن أقوم بتشغيل هذه المهمة في البنية الأساسية لبرنامج ربط العمليات التجارية؟
يجب تشغيل هذه المهمة قبل استخدام npm
، أو npm
مشغل مهمة، لتثبيت الحزم أو دفعها إلى مستودع npm مصادق عليه مثل Azure Artifacts. لا توجد متطلبات ترتيب أخرى.
لدي العديد من مشاريع npm. هل أحتاج إلى تشغيل هذه المهمة لكل ملف .npmrc؟
ستضيف هذه المهمة تفاصيل المصادقة إلى ملف واحد .npmrc
فقط في كل مرة. إذا كنت بحاجة إلى مصادقة لملفات متعددة .npmrc
، يمكنك تشغيل المهمة عدة مرات، مرة واحدة لكل .npmrc
ملف. بدلا من ذلك، ضع في اعتبارك إنشاء .npmrc
ملف يحدد جميع السجلات المستخدمة من قبل مشاريعك، ويعمل npmAuthenticate
على هذا .npmrc
الملف، ثم تعيين متغير بيئة لتعيين هذا .npmrc
الملف كملف تكوين npm لكل مستخدم.
- task: npmAuthenticate@0
inputs:
workingFile: $(agent.tempdirectory)/.npmrc
- script: echo ##vso[task.setvariable variable=NPM_CONFIG_USERCONFIG]$(agent.tempdirectory)/.npmrc
- script: npm ci
workingDirectory: project1
- script: npm ci
workingDirectory: project2
وكيلي خلف وكيل ويب. هل سيتم npmAuthenticate
الإعداد npm/gulp/Grunt
لاستخدام الوكيل الخاص بي؟
الإجابة لا. بينما ستعمل هذه المهمة نفسها خلف وكيل ويب تم تكوين وكيلك لاستخدامه، فإنه لا يقوم بتكوين npm
مشغلات المهام أو npm
استخدامها لاستخدام الوكيل.
للقيام بذلك، يمكنك إما:
قم بتعيين متغيرات
http_proxy
/https_proxy
البيئة واختيارياno_proxy
إلى إعدادات الوكيل. راجع تكوين npm للحصول على التفاصيل. لاحظ أن هذه هي المتغيرات شائعة الاستخدام التي قد تستخدمها أيضا الأدوات الأخرى غيرnpm
(مثل curl).أضف إعدادات الوكيل إلى تكوين npm، إما يدويا، باستخدام مجموعة تكوين npm، أو عن طريق تعيين متغيرات البيئة مسبوقة ب
NPM_CONFIG_
.الحذر:
npm
قد لا تكون مشغلات المهام متوافقة مع جميع أساليب تكوين الوكيل التي يدعمهاnpm
.حدد الوكيل مع علامة سطر الأوامر عند استدعاء
npm
.- script: npm ci --https-proxy $(agent.proxyurl)
إذا كان الوكيل يتطلب مصادقة، فقد تحتاج إلى إضافة خطوة بناء إضافية لإنشاء URI وكيل مصادق عليه.
- script: node -e "let u = url.parse(`$(agent.proxyurl)`); u.auth = `$(agent.proxyusername):$(agent.proxypassword)`; console.log(`##vso[task.setvariable variable=proxyAuthUri;issecret=true]` + url.format(u))"
- script: npm publish --https-proxy $(proxyAuthUri)
يحتاج المسار الخاص بي إلى الوصول إلى موجز في مشروع مختلف
إذا كان المسار قيد التشغيل في مشروع مختلف عن المشروع الذي يستضيف الموجز، فيجب عليك إعداد المشروع الآخر لمنح حق الوصول للقراءة/الكتابة إلى خدمة الإنشاء. راجع أذونات الحزمة في Azure Pipelines لمزيد من التفاصيل.
أمثلة
استعادة npm
حزم مشروعك من سجل داخل مؤسستك
إذا كانت السجلات المصادق عليها الوحيدة التي تستخدمها هي سجلات Azure Artifacts في مؤسستك، فأنت بحاجة فقط إلى تحديد المسار إلى .npmrc
ملف للمهمة npmAuthenticate
.
.npmrc
registry=https://pkgs.dev.azure.com/{organization}/_packaging/{feed}/npm/registry/
always-auth=true
npm
- task: npmAuthenticate@0
inputs:
workingFile: .npmrc
- script: npm ci
# ...
- script: npm publish
استعادة الحزم ونشرها npm
خارج مؤسستك
.npmrc
إذا كان يحتوي على سجلات Azure Artifacts من مؤسسة مختلفة أو استخدم مستودع حزمة مصادق عليه من جهة خارجية، فستحتاج إلى إعداد اتصالات خدمة npm وتحديدها في customEndpoint
الإدخال.
ستتم أيضا مصادقة السجلات داخل مؤسسة Azure Artifacts تلقائيا.
.npmrc
registry=https://pkgs.dev.azure.com/{organization}/{project}/_packaging/{feed}/npm/registry/
@{scope}:registry=https://pkgs.dev.azure.com/{otherorganization}/_packaging/{feed}/npm/registry/
@{otherscope}:registry=https://{thirdPartyRepository}/npm/registry/
always-auth=true
قد يحتوي عنوان URL للتسجيل الذي يشير إلى موجز Azure Artifacts على المشروع أو لا يحتوي عليه. يجب أن يحتوي عنوان URL لموجز نطاق المشروع على المشروع، ويجب ألا يحتوي عنوان URL لموجز نطاق المؤسسة على المشروع. تعرف على المزيد حول موجزات المشروع.
أداة npm
- task: npmAuthenticate@0
inputs:
workingFile: .npmrc
customEndpoint: OtherOrganizationNpmConnection, ThirdPartyRepositoryNpmConnection
- script: npm ci
# ...
- script: npm publish -registry https://pkgs.dev.azure.com/{otherorganization}/_packaging/{feed}/npm/registry/
OtherOrganizationNpmConnection
وهي ThirdPartyRepositoryNpmConnection
أسماء اتصالات خدمة npm التي تم تكوينها والمخولة لاستخدامها في البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك، ولديها عناوين URL التي تطابق تلك الموجودة في الملف المحدد .npmrc
.
المتطلبات
المتطلب | الوصف |
---|---|
أنواع البنية الأساسية لبرنامج ربط العمليات التجارية | YAML، الإصدار الكلاسيكي، الإصدار الكلاسيكي |
يعمل على | Agent, DeploymentGroup |
المطالب | بلا |
القدرات | لا تفي هذه المهمة بأي طلبات للمهام اللاحقة في الوظيفة. |
قيود الأوامر | أي |
متغيرات Settable | أي |
إصدار الوكيل | 2.115.0 أو أحدث |
فئة المهمة | الحزمة |