JavaToolInstaller@1 - مهمة v1 لمثبت أداة Java

الحصول على إصدار معين من Java من Azure blob الذي يوفره المستخدم أو ذاكرة التخزين المؤقت للأداة وتعيين JAVA_HOME.

ملاحظه

يستخدم هذا الإصدار من المهمة Azure RBAC للاتصال بتخزين Azure. لمزيد من المعلومات، راجع تكوين Azure RBAC للوصول إلى تخزين Azure.

إعراب

# Java tool installer v1
# Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME.
- task: JavaToolInstaller@1
  inputs:
    versionSpec: '8' # string. Required. JDK version. Default: 8.
    jdkArchitectureOption: # 'x64' | 'x86' | 'arm64'. Required. JDK architecture. 
    jdkSourceOption: # 'AzureStorage' | 'LocalDirectory' | 'PreInstalled'. Required. JDK source. 
    #jdkFile: # string. Required when jdkSourceOption == LocalDirectory. JDK file. 
    #azureResourceManagerEndpoint: # string. Required when jdkSourceOption == AzureStorage. Azure subscription. 
    #azureStorageAccountName: # string. Required when jdkSourceOption == AzureStorage. Storage account name. 
    #azureContainerName: # string. Required when jdkSourceOption == AzureStorage. Container name. 
    #azureCommonVirtualFile: # string. Required when jdkSourceOption == AzureStorage. Common virtual path. 
    #jdkDestinationDirectory: # string. Required when jdkSourceOption != PreInstalled. Destination directory. 
    #azureResourceGroupName: # string. Optional. Use when jdkSourceOption == AzureStorage. Resource Group name. 
    #cleanDestinationDirectory: true # boolean. Optional. Use when jdkSourceOption != PreInstalled. Clean destination directory. Default: true.
    #createExtractDirectory: true # boolean. Optional. Use when jdkSourceOption != PreInstalled. Create directory for extracting. Default: true.
# Java tool installer v1
# Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME.
- task: JavaToolInstaller@1
  inputs:
    versionSpec: '8' # string. Required. JDK version. Default: 8.
    jdkArchitectureOption: # 'x64' | 'x86'. Required. JDK architecture. 
    jdkSourceOption: # 'AzureStorage' | 'LocalDirectory' | 'PreInstalled'. Required. JDK source. 
    #jdkFile: # string. Required when jdkSourceOption == LocalDirectory. JDK file. 
    #azureResourceManagerEndpoint: # string. Required when jdkSourceOption == AzureStorage. Azure subscription. 
    #azureStorageAccountName: # string. Required when jdkSourceOption == AzureStorage. Storage account name. 
    #azureContainerName: # string. Required when jdkSourceOption == AzureStorage. Container name. 
    #azureCommonVirtualFile: # string. Required when jdkSourceOption == AzureStorage. Common virtual path. 
    #jdkDestinationDirectory: # string. Required when jdkSourceOption != PreInstalled. Destination directory. 
    #azureResourceGroupName: # string. Optional. Use when jdkSourceOption == AzureStorage. Resource Group name. 
    #cleanDestinationDirectory: true # boolean. Optional. Use when jdkSourceOption != PreInstalled. Clean destination directory. Default: true.
    #createExtractDirectory: true # boolean. Optional. Use when jdkSourceOption != PreInstalled. Create directory for extracting. Default: true.

المدخلات

إصدار JDK
Person. مطلوب. القيمة الافتراضية: 8.

يحدد إصدار JDK لتوفيره على المسار. استخدم إصدارا رقميا صحيحا، مثل 10.


بنية JDK
Person. مطلوب. القيم المسموح بها: x64، x86، arm64.

تحديد البنية (x86، x64) ل JDK.


بنية JDK
Person. مطلوب. القيم المسموح بها: x64، x86.

تحديد البنية (x86، x64) ل JDK.


مصدر JDK
Person. مطلوب. القيم المسموح بها: AzureStorage (Azure Storage) LocalDirectory (الدليل المحلي) PreInstalled (مثبت مسبقا).

تحديد مصدر JDK المضغوط. يمكن أن يكون المصدر تخزين Azure blob أو دليلا محليا على الوكيل أو مستودع المصدر، أو يمكنك استخدام الإصدار المثبت مسبقا من Java (متوفر للوكلاء المستضافين من Microsoft). يرجى الاطلاع على المثال أدناه حول كيفية استخدام الإصدار المثبت مسبقا من Java.

ملاحظه

يستخدم هذا الإصدار من المهمة Azure RBAC للاتصال بتخزين Azure. لمزيد من المعلومات، راجع تكوين Azure RBAC للوصول إلى تخزين Azure.


ملف JDK
Person. مطلوب عند jdkSourceOption == LocalDirectory.

يحدد المسار إلى ملف أرشيف JDK الذي يحتوي على JDK المضغوط. يمكن أن يكون المسار في مستودع المصدر أو مسار محلي على العامل. يجب أن يكون الملف أرشيفا (.zip.tar.gz .7z) يحتوي على مجلد الحاوية على مستوى الجذر أو داخل دليل واحد. يدعم MacOS ملفات .pkg وملفات .dmg تحتوي على ملف .pkg واحد فقط بداخلها.


اشتراك Azure
Person. مطلوب عند jdkSourceOption == AzureStorage.

تحديد اشتراك Azure Resource Manager ل JDK.

ملاحظه

يستخدم هذا الإصدار من المهمة Azure RBAC للاتصال بتخزين Azure. لمزيد من المعلومات، راجع تكوين Azure RBAC للوصول إلى تخزين Azure.


اسم حساب تخزين
Person. مطلوب عند jdkSourceOption == AzureStorage.

تحديد حسابات تخزين Azure Classic أو Resource Manager. حدد اسم حساب التخزين الذي يوجد فيه JDK.

ملاحظه

يستخدم هذا الإصدار من المهمة Azure RBAC للاتصال بتخزين Azure. لمزيد من المعلومات، راجع تكوين Azure RBAC للوصول إلى تخزين Azure.


اسم حاوية
Person. مطلوب عند jdkSourceOption == AzureStorage.

يحدد اسم الحاوية في حساب التخزين حيث يوجد JDK.


azureCommonVirtualFile - المسار الظاهري الشائع
Person. مطلوب عند jdkSourceOption == AzureStorage.

تحديد المسار إلى JDK داخل حاوية تخزين Azure.


دليل الوجهة
Person. مطلوب عند jdkSourceOption != PreInstalled.

يحدد الدليل الوجهة حيث يجب استخراج JDK. على Linux وWindows، يتم استخدام هذا كدليل وجهة لتثبيت JDK. على macOS، يتم استخدام هذا الدليل كمجلد مؤقت لاستخراج .dmg لأن macOS لا يدعم تثبيت JDK إلى دليل معين.


اسم مجموعة موارد
Person. اختياري. استخدم عند jdkSourceOption == AzureStorage.

اسم مجموعة الموارد لحساب التخزين.


دليل الوجهة النظيفة
Person. اختياري. استخدم عند jdkSourceOption != PreInstalled. القيمة الافتراضية: true.

تحديد خيار تنظيف الدليل الوجهة قبل استخراج JDK فيه.


createExtractDirectory - إنشاء دليل لاستخراج
Person. اختياري. استخدم عند jdkSourceOption != PreInstalled. القيمة الافتراضية: true.

بشكل افتراضي، تنشئ المهمة دليلا مشابها JAVA_HOME_8_X64_OpenJDK_zip لاستخراج JDK. يعطل هذا الخيار إنشاء هذا المجلد، وإذا تم تعيينه إلى false، فإن JDK موجود في جذر jdkDestinationDirectory بدلا من ذلك.


خيارات التحكم بالمهمة

تحتوي جميع المهام على خيارات التحكم بالإضافة إلى مدخلات المهام الخاصة بها. لمزيد من المعلومات، راجع خيارات التحكم وخصائص المهمة الشائعة.

متغيرات الإخراج

اي.

ملاحظات

استخدم هذه المهمة للحصول على إصدار معين من Java من Azure blob الذي يوفره المستخدم، أو موقع في المصدر أو على العامل، أو ذاكرة التخزين المؤقت للأدوات. تعين المهمة أيضا متغير البيئة JAVA_HOME. استخدم هذه المهمة لتغيير إصدار Java المستخدم في مهام Java.

ملاحظه

لتشغيل Java Tool Installer المهمة على macOS، مطلوب للمستخدم الذي يتم تشغيل العامل بموجبه للحصول على إذن لتنفيذ الأمر sudo دون كلمة مرور. يمكنك اتباع الخطوات التالية لتمكين هذا الإذن:

  1. قم بتشغيل الأمر sudo visudo. يفتح ملف sudoers للتحرير.
  2. انتقل إلى أسفل الملف وأضف السطر التالي: user ALL=NOPASSWD: /usr/sbin/installer (استبدل المستخدم بالاسم المستعار الفعلي للمستخدم).
  3. احفظ الملف وأغلقه.

تكوين Azure RBAC للوصول إلى تخزين Azure

يستخدم هذا الإصدار من المهمة اتصال خدمة Azure Resource Manager الذي تم تكوينه باستخدام اتحاد هوية حمل العمل وAzure RBAC للاتصال بتخزين Azure بدلا من مفاتيح حساب التخزين أو توقيعات الوصول المشتركة (SAS). للاتصال بتخزين Azure من هذه المهمة، يجب عليك تعيين دور Storage Blob Data Contributor على حساب التخزين إلى هوية اتصال الخدمة الذي تم تكوينه ل azureResourceManagerEndpoint. لمزيد من المعلومات، راجع تعيين دور Azure للوصول إلى بيانات الكائن الثنائي كبير الحجم وخطوات تعيين دور.

امثله

فيما يلي مثال على الحصول على ملف الأرشيف من دليل محلي على Linux. يجب أن يكون الملف أرشيفا (.zip، .gz) للدليل JAVA_HOME، بحيث يتضمن الدلائل binlibincludejreوما إلى ذلك.

  - task: JavaToolInstaller@1
    inputs:
      versionSpec: "11"
      jdkArchitectureOption: x64
      jdkSourceOption: LocalDirectory
      jdkFile: "/builds/openjdk-11.0.2_linux-x64_bin.tar.gz"
      jdkDestinationDirectory: "/builds/binaries/externals"
      cleanDestinationDirectory: true

فيما يلي مثال لتنزيل ملف الأرشيف من Azure Storage. يجب أن يكون الملف أرشيفا (.zip، .gz) للدليل JAVA_HOME، بحيث يتضمن الدلائل binlibincludejreوما إلى ذلك.

ملاحظه

يصل هذا الإصدار من المهمة إلى تخزين Azure باستخدام اتصال خدمة Azure Resource Manager تكوينه باستخدام اتحاد هوية حمل العمل وAzure RBAC. لمزيد من المعلومات، راجع تعيين دور Azure للوصول إلى بيانات الكائن الثنائي كبير الحجم.

- task: JavaToolInstaller@1
  inputs:
    versionSpec: '6'
    jdkArchitectureOption: 'x64'
    jdkSourceOption: AzureStorage
    azureResourceManagerEndpoint: myARMServiceConnection
    azureStorageAccountName: myAzureStorageAccountName
    azureContainerName: myAzureStorageContainerName
    azureCommonVirtualFile: 'jdk1.6.0_45.zip'
    jdkDestinationDirectory: '$(agent.toolsDirectory)/jdk6'
    cleanDestinationDirectory: false

فيما يلي مثال على استخدام ميزة "مثبتة مسبقا". تسمح لك هذه الميزة باستخدام إصدارات Java المثبتة مسبقا على العامل المستضاف من Microsoft. يمكنك العثور على الإصدارات المتوفرة المثبتة مسبقا من Java في عمود البرنامج المضمن في جدول العوامل المستضافة.

- task: JavaToolInstaller@1
  inputs:
    versionSpec: '8'
    jdkArchitectureOption: 'x64'
    jdkSourceOption: 'PreInstalled'

المتطلبات

احتياج وصف
أنواع البنية الأساسية لبرنامج ربط العمليات التجارية YAML، الإصدار الكلاسيكي، الإصدار الكلاسيكي
يعمل على العامل، DeploymentGroup
متطلبات اي
قدرات يؤدي تشغيل هذه المهمة إلى تلبية متطلبات التالية لأي مهام لاحقة في نفس المهمة: Java وJDK
قيود الأمر يتم تشغيل هذه المهمة باستخدام قيود الأمر التالية: مقيد
متغيرات Settable هذه المهمة لديها إذن لتعيين المتغيرات التالية: PATH، JAVA_HOME*
إصدار العامل 2.182.1 أو أحدث
فئة المهمة أداة