مشاركة عبر


Gradle@3 - مهمة Gradle v3

استخدم هذه المهمة للبناء باستخدام برنامج تضمين Gradle النصي.

بناء الجملة

# Gradle v3
# Build using a Gradle wrapper script.
- task: Gradle@3
  inputs:
    gradleWrapperFile: 'gradlew' # string. Alias: wrapperScript. Required. Gradle wrapper. Default: gradlew.
    #workingDirectory: # string. Alias: cwd. Working directory. 
    #options: # string. Options. 
    tasks: 'build' # string. Required. Tasks. Default: build.
  # JUnit Test Results
    #publishJUnitResults: true # boolean. Publish to Azure Pipelines. Default: true.
    testResultsFiles: '**/TEST-*.xml' # string. Required when publishJUnitResults = true. Test results files. Default: **/TEST-*.xml.
    #testRunTitle: # string. Optional. Use when publishJUnitResults = true. Test run title. 
  # Code Coverage
    #codeCoverageToolOption: 'None' # 'None' | 'Cobertura' | 'JaCoCo'. Alias: codeCoverageTool. Code coverage tool. Default: None.
    codeCoverageClassFilesDirectories: 'build/classes/main/' # string. Alias: classFilesDirectories. Required when codeCoverageTool != None. Class files directories. Default: build/classes/main/.
    #codeCoverageClassFilter: # string. Alias: classFilter. Optional. Use when codeCoverageTool != None. Class inclusion/exclusion filters. 
    #codeCoverageFailIfEmpty: false # boolean. Alias: failIfCoverageEmpty. Optional. Use when codeCoverageTool != None. Fail when code coverage results are missing. Default: false.
    #codeCoverageGradle5xOrHigher: true # boolean. Alias: gradle5xOrHigher. Optional. Use when codeCoverageTool = JaCoCo. Gradle version >= 5.x. Default: true.
  # Advanced
    javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
    #jdkVersionOption: 'default' # 'default' | '1.17' | '1.11' | '1.10' | '1.9' | '1.8' | '1.7' | '1.6'. Alias: jdkVersion. Optional. Use when javaHomeSelection = JDKVersion. JDK version. Default: default.
    #jdkDirectory: # string. Alias: jdkUserInputPath. Required when javaHomeSelection = Path. JDK path. 
    #jdkArchitectureOption: 'x64' # 'x86' | 'x64'. Alias: jdkArchitecture. Optional. Use when jdkVersion != default. JDK architecture. Default: x64.
    #gradleOptions: '-Xmx1024m' # string. Alias: gradleOpts. Set GRADLE_OPTS. Default: -Xmx1024m.
  # Code Analysis
    #sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube or SonarCloud Analysis. Default: false.
    #sqGradlePluginVersionChoice: 'specify' # 'specify' | 'build'. Required when sqAnalysisEnabled = true. SonarQube scanner for Gradle version. Default: specify.
    #sonarQubeGradlePluginVersion: '2.6.1' # string. Alias: sqGradlePluginVersion. Required when sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify. SonarQube scanner for Gradle plugin version. Default: 2.6.1.
    #checkStyleRunAnalysis: false # boolean. Alias: checkstyleAnalysisEnabled. Run Checkstyle. Default: false.
    #findBugsRunAnalysis: false # boolean. Alias: findbugsAnalysisEnabled. Run FindBugs. Default: false.
    #pmdRunAnalysis: false # boolean. Alias: pmdAnalysisEnabled. Run PMD. Default: false.
    #spotBugsAnalysis: false # boolean. Alias: spotBugsAnalysisEnabled. Run SpotBugs. Default: false.
    #spotBugsGradlePluginVersionChoice: 'specify' # 'specify' | 'build'. Required when spotBugsAnalysisEnabled = true. Spotbugs plugin version. Default: specify.
    #spotbugsGradlePluginVersion: '4.7.0' # string. Required when spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify. Version number. Default: 4.7.0.
# Gradle v3
# Build using a Gradle wrapper script.
- task: Gradle@3
  inputs:
    gradleWrapperFile: 'gradlew' # string. Alias: wrapperScript. Required. Gradle wrapper. Default: gradlew.
    #workingDirectory: # string. Alias: cwd. Working directory. 
    #options: # string. Options. 
    tasks: 'build' # string. Required. Tasks. Default: build.
  # JUnit Test Results
    #publishJUnitResults: true # boolean. Publish to Azure Pipelines. Default: true.
    testResultsFiles: '**/TEST-*.xml' # string. Required when publishJUnitResults = true. Test results files. Default: **/TEST-*.xml.
    #testRunTitle: # string. Optional. Use when publishJUnitResults = true. Test run title. 
  # Code Coverage
    #codeCoverageToolOption: 'None' # 'None' | 'Cobertura' | 'JaCoCo'. Alias: codeCoverageTool. Code coverage tool. Default: None.
    codeCoverageClassFilesDirectories: 'build/classes/main/' # string. Alias: classFilesDirectories. Required when codeCoverageTool != None. Class files directories. Default: build/classes/main/.
    #codeCoverageClassFilter: # string. Alias: classFilter. Optional. Use when codeCoverageTool != None. Class inclusion/exclusion filters. 
    #codeCoverageFailIfEmpty: false # boolean. Alias: failIfCoverageEmpty. Optional. Use when codeCoverageTool != None. Fail when code coverage results are missing. Default: false.
    #codeCoverageGradle5xOrHigher: true # boolean. Alias: gradle5xOrHigher. Optional. Use when codeCoverageTool = JaCoCo. Gradle version >= 5.x. Default: true.
  # Advanced
    javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
    #jdkVersionOption: 'default' # 'default' | '1.11' | '1.10' | '1.9' | '1.8' | '1.7' | '1.6'. Alias: jdkVersion. Optional. Use when javaHomeSelection = JDKVersion. JDK version. Default: default.
    #jdkDirectory: # string. Alias: jdkUserInputPath. Required when javaHomeSelection = Path. JDK path. 
    #jdkArchitectureOption: 'x64' # 'x86' | 'x64'. Alias: jdkArchitecture. Optional. Use when jdkVersion != default. JDK architecture. Default: x64.
    #gradleOptions: '-Xmx1024m' # string. Alias: gradleOpts. Set GRADLE_OPTS. Default: -Xmx1024m.
  # Code Analysis
    #sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube or SonarCloud Analysis. Default: false.
    #sqGradlePluginVersionChoice: 'specify' # 'specify' | 'build'. Required when sqAnalysisEnabled = true. SonarQube scanner for Gradle version. Default: specify.
    #sonarQubeGradlePluginVersion: '2.6.1' # string. Alias: sqGradlePluginVersion. Required when sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify. SonarQube scanner for Gradle plugin version. Default: 2.6.1.
    #checkStyleRunAnalysis: false # boolean. Alias: checkstyleAnalysisEnabled. Run Checkstyle. Default: false.
    #findBugsRunAnalysis: false # boolean. Alias: findbugsAnalysisEnabled. Run FindBugs. Default: false.
    #pmdRunAnalysis: false # boolean. Alias: pmdAnalysisEnabled. Run PMD. Default: false.
    #spotBugsAnalysis: false # boolean. Alias: spotBugsAnalysisEnabled. Run SpotBugs. Default: false.
    #spotBugsGradlePluginVersionChoice: 'specify' # 'specify' | 'build'. Required when spotBugsAnalysisEnabled = true. Spotbugs plugin version. Default: specify.
    #spotbugsGradlePluginVersion: '4.7.0' # string. Required when spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify. Version number. Default: 4.7.0.

المدخلات

تضمين gradleWrapperFile - Gradle
الاسم المستعار للإدخل: wrapperScript. Person. مطلوب. القيمة الافتراضية: gradlew.

تحديد موقع برنامج تضمين gradlew داخل المستودع الذي سيتم استخدامه للبناء. يجب على الوكلاء على Windows (بما في ذلك العوامل المستضافة من Microsoft) استخدام برنامج تضمين gradlew.bat. يمكن للوكلاء على Linux أو macOS استخدام البرنامج النصي gradlew shell. تعرف على المزيد حول Gradle Wrapper . إذا لم يكن برنامج تضمين Gradle في الدليل الجذر، فحدد المسار إلى برنامج التضمين النصي. على سبيل المثال، subdir/gradlew


دليل العمل
الاسم المستعار للإدخل: cwd. Person.

تحديد دليل العمل لتشغيل بنية Gradle. تستخدم المهمة الدليل الجذر للمستودع إذا لم يتم تحديد دليل العمل.


خيارات options -
Person.

تحديد خيارات سطر الأوامر التي سيتم تمريرها إلى برنامج تضمين Gradle. راجع سطر أوامر Gradle للحصول على مزيد من المعلومات.


المهام tasks -
Person. مطلوب. القيمة الافتراضية: build.

المهمة (المهام) الخاصة ب Gradle لتنفيذها. يجب فصل قائمة أسماء المهام بمسافات ويمكن أخذها من gradlew tasks إصدارها من موجه الأوامر.

راجع أساسيات البرنامج النصي Gradle Build للحصول على مزيد من المعلومات.


publishJUnitResults - Publish to Azure Pipelines
Person. القيمة الافتراضية: true.

ينشر نتائج اختبار JUnit التي تنتجها بنية Gradle إلى Azure Pipelines. تنشر المهمة كل ملف نتائج اختبار مطابق Test Results Files كتشغيل اختبار في Azure Pipelines.


ملفات نتائج اختبار testResultsFiles -
Person. مطلوب عند publishJUnitResults = true. القيمة الافتراضية: **/TEST-*.xml.

مسار الملف لنتائج الاختبار. يمكن استخدام أحرف البدل. على سبيل المثال، **/TEST-*.xml لكافة ملفات XML التي يبدأ اسمها TEST-.


عنوان تشغيل testRunTitle - Test
Person. اختياري. استخدم عند publishJUnitResults = true.

يوفر اسما لنتائج حالة اختبار JUnit لهذا الإصدار.


أداة تغطية التعليمات البرمجية codeCoverageToolOption -
الاسم المستعار للإدخل: codeCoverageTool. Person. القيم المسموح بها: NoneCoberturaJaCoCo. القيمة الافتراضية: None.

تحديد أداة تغطية التعليمات البرمجية لتحديد التعليمات البرمجية التي تغطيها حالات الاختبار للإنشاء.


codeCoverageClassFilesDirectories - دلائل ملفات الفئة
الاسم المستعار للإدخل: classFilesDirectories. Person. مطلوب عند codeCoverageTool != None. القيمة الافتراضية: build/classes/main/.

قائمة الدلائل المفصولة بفواصل التي تحتوي على ملفات الفئة وملفات الأرشيف (.jar و.war والمزيد). يتم الإبلاغ عن تغطية التعليمات البرمجية لملفات الفئة في هذه الدلائل. عادة، تبحث المهمة عن الفئات ضمن build/classes/java/main (ل Gradle 4+)، وهو دليل الفئة الافتراضية لبنى Gradle.


codeCoverageClassFilter - عوامل تصفية تضمين/استبعاد الفئة
الاسم المستعار للإدخل: classFilter. Person. اختياري. استخدم عند codeCoverageTool != None.

قائمة عوامل التصفية المفصولة بفواصل لتضمين الفئات أو استبعادها من جمع تغطية التعليمات البرمجية. على سبيل المثال: +:com.*،+:org.*،-:my.app*.*.


فشل codeCoverageFailIfEmpty - عند فقدان نتائج تغطية التعليمات البرمجية
الاسم المستعار للإدخل: failIfCoverageEmpty. Person. اختياري. استخدم عند codeCoverageTool != None. القيمة الافتراضية: false.

فشل الإنشاء إذا لم تنتج تغطية التعليمات البرمجية أي نتائج للنشر.


codeCoverageGradle5xOrHigher - إصدار Gradle >= 5.x
الاسم المستعار للإدخل: gradle5xOrHigher. Person. اختياري. استخدم عند codeCoverageTool = JaCoCo. القيمة الافتراضية: true.

قم بتعيين هذا إلى "صحيح" إذا كان إصدار gradle >= 5.x.


تعيين JAVA_HOME javaHomeOption - حسب
الاسم المستعار للإدخل: javaHomeSelection. Person. مطلوب. القيم المسموح بها: JDKVersion (إصدار JDK)، Path. القيمة الافتراضية: JDKVersion.

يعين JAVA_HOME عن طريق تحديد إصدار JDK الذي تكتشفه المهمة أثناء الإصدارات أو عن طريق إدخال مسار JDK يدويا.


إصدار JDK
الاسم المستعار للإدخل: jdkVersion. Person. اختياري. استخدم عند javaHomeSelection = JDKVersion. القيم المسموح بها: default، 1.17 (JDK 17)، 1.11 (JDK 11)، 1.10 (JDK 10 (خارج الدعم))، 1.9 (JDK 9 (خارج الدعم))، 1.8 (JDK 8)، 1.7 (JDK 7)، 1.6 (JDK 6 (خارج الدعم)). القيمة الافتراضية: default.

يحاول اكتشاف المسار إلى إصدار JDK المحدد وتعيين JAVA_HOME وفقا لذلك.


إصدار JDK
الاسم المستعار للإدخل: jdkVersion. Person. اختياري. استخدم عند javaHomeSelection = JDKVersion. القيم المسموح بها: default، 1.11 (JDK 11)، 1.10 (JDK 10 (خارج الدعم))، 1.9 (JDK 9 (خارج الدعم))، 1.8 (JDK 8)، 1.7 (JDK 7)، 1.6 (JDK 6 (خارج الدعم)). القيمة الافتراضية: default.

يحاول اكتشاف المسار إلى إصدار JDK المحدد وتعيين JAVA_HOME وفقا لذلك.


مسار jdkDirectory - JDK
الاسم المستعار للإدخل: jdkUserInputPath. Person. مطلوب عند javaHomeSelection = Path.

تعيين JAVA_HOME إلى المسار المحدد.


بنية JDK
الاسم المستعار للإدخل: jdkArchitecture. Person. اختياري. استخدم عند jdkVersion != default. القيم المسموح بها: x86، x64. القيمة الافتراضية: x64.

يوفر بنية JDK (x86 أو x64).


GRADLE_OPTSمجموعة gradleOptions -
الاسم المستعار للإدخل: gradleOpts. Person. القيمة الافتراضية: -Xmx1024m.

تعيين متغير البيئة GRADLE_OPTS، والذي يستخدم لإرسال وسيطات سطر الأوامر لبدء تشغيل JVM. تحدد علامة xmx الحد الأقصى للذاكرة المتوفرة ل JVM.


sonarQubeRunAnalysis - تشغيل تحليل SonarQube أو SonarCloud
الاسم المستعار للإدخل: sqAnalysisEnabled. Person. القيمة الافتراضية: false.

تم تغيير هذا الخيار من الإصدار 1 من مهمة Gradle لاستخدام SonarQube وملحقات سوق SonarCloud. قم بتمكين هذا الخيار لتشغيل تحليل SonarQube أو SonarCloud بعد تنفيذ المهام في حقل المهام. يجب أيضا إضافة مهمة Prepare Analysis Configuration من أحد الملحقات إلى البنية الأساسية لبرنامج ربط العمليات التجارية للبناء قبل مهمة Gradle هذه.


sqGradlePluginVersionChoice - ماسح ضوئي ل SonarQube لإصدار Gradle
Person. مطلوب عند sqAnalysisEnabled = true. القيم المسموح بها: specify (تحديد رقم الإصدار)، build (استخدم المكون الإضافي المطبق في build.gradle). القيمة الافتراضية: specify.

يحدد إصدار المكون الإضافي SonarQube Gradle لاستخدامه. قم بتعريف الإصدار في ملف تكوين Gradle، أو حدد إصدارا بهذه السلسلة.


sonarQubeGradlePluginVersion - الماسح الضوئي SonarQube لإصدار المكون الإضافي Gradle
الاسم المستعار للإدخل: sqGradlePluginVersion. Person. مطلوب عند sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify. القيمة الافتراضية: 2.6.1.

يحتوي على رقم إصدار المكون الإضافي SonarQube Gradle.


checkStyleRunAnalysis - تشغيل الشيكات
الاسم المستعار للإدخل: checkstyleAnalysisEnabled. Person. القيمة الافتراضية: false.

تشغيل أداة Checkstyle مع عمليات فحص Sun الافتراضية. يتم تحميل النتائج كبنية اصطناعية.


تشغيل findBugsRunAnalysis - FindBugs
الاسم المستعار للإدخل: findbugsAnalysisEnabled. Person. القيمة الافتراضية: false.

يستخدم أداة تحليل FindBugs الثابتة للبحث عن الأخطاء في التعليمات البرمجية. يتم تحميل النتائج كبنية اصطناعية. في Gradle 6.0، تمت إزالة هذا المكون الإضافي. استخدم المكون الإضافي SpotBugs بدلا من ذلك.


pmdRunAnalysis - تشغيل PMD
الاسم المستعار للإدخل: pmdAnalysisEnabled. Person. القيمة الافتراضية: false.

يستخدم أداة تحليل JAVA الثابتة PMD للبحث عن الأخطاء في التعليمات البرمجية. يتم تحميل النتائج كبنية اصطناعية.


spotBugsAnalysis - تشغيل SpotBugs
الاسم المستعار للإدخل: spotBugsAnalysisEnabled. Person. القيمة الافتراضية: false.

يتم تشغيل spotBugs عند true. يعمل هذا المكون الإضافي مع Gradle v5.6 أو أحدث. تعرف على المزيد حول باستخدام المكون الإضافي SpotBugs Gradle. قد يعمل المكون الإضافي بطريقة غير متوقعة أو قد لا يعمل على الإطلاق مع إصدار Gradle سابق.


إصدار المكون الإضافي spotBugsGradlePluginVersionChoice - Spotbugs
Person. مطلوب عند spotBugsAnalysisEnabled = true. القيم المسموح بها: specify (تحديد رقم الإصدار)، build (استخدم المكون الإضافي المطبق في build.gradle). القيمة الافتراضية: specify.

يحدد إصدار المكون الإضافي SpotBugs Gradle لاستخدامه. يمكن الإعلان عن الإصدار في ملف تكوين Gradle، أو يمكن تحديد الإصدار في هذه السلسلة.


رقم إصدار spotbugsGradlePluginVersion -
Person. مطلوب عند spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify. القيمة الافتراضية: 4.7.0.

يحتوي على رقم إصدار المكون الإضافي SpotBugs Gradle.


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

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

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

اي.

ملاحظات

تم نقل تكوين تحليل SonarQube إلى SonarQube أو ملحقات SonarCloud في Prepare Analysis Configurationالمهمة .

استخدم هذه المهمة للبناء باستخدام برنامج تضمين Gradle النصي.

كيف يمكنني إنشاء برنامج تضمين من مشروع Gradle الخاص بي؟

يسمح برنامج تضمين Gradle لعامل البناء بتنزيل وتكوين بيئة Gradle الدقيقة التي تم إيداعها في المستودع دون وجود أي تكوين برنامج على عامل البناء نفسه بخلاف JVM.

  1. إنشاء برنامج تضمين Gradle عن طريق إصدار الأمر التالي من دليل المشروع الجذر حيث يوجد build.gradle الخاص بك:

    jamal@fabrikam> gradle wrapper

  2. قم بتحميل برنامج تضمين Gradle إلى المستودع البعيد.

    هناك أداة ثنائية يتم إنشاؤها بواسطة برنامج تضمين gradle (الموجود في gradle/wrapper/gradle-wrapper.jar). هذا الملف الثنائي صغير ولا يتطلب التحديث. إذا كنت بحاجة إلى تغيير تشغيل تكوين Gradle على عامل البناء، يمكنك تحديث gradle-wrapper.properties.

    يجب أن يبدو المستودع كما يلي:

|-- gradle/
    `-- wrapper/
        `-- gradle-wrapper.jar
        `-- gradle-wrapper.properties
|-- src/
|-- .gitignore
|-- build.gradle
|-- gradlew
|-- gradlew.bat

كيف يمكنني إصلاح المهلات عند تنزيل التبعيات؟

لإصلاح أخطاء مثل Read timed out عند تنزيل التبعيات، يمكن لمستخدمي Gradle 4.3+ تغيير المهلة عن طريق إضافة -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000 إلى Options. يؤدي ذلك إلى زيادة المهلة من 10 ثوان إلى دقيقة واحدة.

امثله

إنشاء تطبيق Java باستخدام Gradle

المتطلبات

احتياج وصف
أنواع البنية الأساسية لبرنامج ربط العمليات التجارية YAML، الإصدار الكلاسيكي
يعمل على Agent, DeploymentGroup
متطلبات اي
قدرات لا تفي هذه المهمة بأي طلبات للمهام اللاحقة في الوظيفة.
قيود الأمر أي
متغيرات Settable أي
إصدار العامل 1.91.0 أو أحدث
فئة المهمة بنى