CopyFiles@2 - نسخ الملفات v2 المهمة

استخدم هذه المهمة لنسخ الملفات من مجلد مصدر إلى مجلد هدف باستخدام أنماط المطابقة. (ستتطابق أنماط المطابقة مع مسارات الملفات فقط، وليس مسارات المجلدات).

بناء الجملة

# Copy files v2
# Copy files from a source folder to a target folder using patterns matching file paths (not folder paths).
- task: CopyFiles@2
  inputs:
    #SourceFolder: # string. Source Folder. 
    Contents: '**' # string. Required. Contents. Default: **.
    TargetFolder: # string. Required. Target Folder. 
  # Advanced
    #CleanTargetFolder: false # boolean. Clean Target Folder. Default: false.
    #OverWrite: false # boolean. Overwrite. Default: false.
    #flattenFolders: false # boolean. Flatten Folders. Default: false.
    #preserveTimestamp: false # boolean. Preserve Target Timestamp. Default: false.
    #retryCount: '0' # string. Retry count to copy the file. Default: 0.
    #delayBetweenRetries: '1000' # string. Delay between two retries. Default: 1000.
    #ignoreMakeDirErrors: false # boolean. Ignore errors during creation of target folder. Default: false.
# Copy files v2
# Copy files from a source folder to a target folder using patterns matching file paths (not folder paths).
- task: CopyFiles@2
  inputs:
    #SourceFolder: # string. Source Folder. 
    Contents: '**' # string. Required. Contents. Default: **.
    TargetFolder: # string. Required. Target Folder. 
  # Advanced
    #CleanTargetFolder: false # boolean. Clean Target Folder. Default: false.
    #OverWrite: false # boolean. Overwrite. Default: false.
    #flattenFolders: false # boolean. Flatten Folders. Default: false.
    #preserveTimestamp: false # boolean. Preserve Target Timestamp. Default: false.
# Copy Files v2
# Copy files from source folder to target folder using match patterns (The match patterns will only match file paths, not folder paths).
- task: CopyFiles@2
  inputs:
    #SourceFolder: # string. Source Folder. 
    Contents: '**' # string. Required. Contents. Default: **.
    TargetFolder: # string. Required. Target Folder. 
  # Advanced
    #CleanTargetFolder: false # boolean. Clean Target Folder. Default: false.
    #OverWrite: false # boolean. Overwrite. Default: false.
    #flattenFolders: false # boolean. Flatten Folders. Default: false.

الإدخالات

SourceFolder - المجلد المصدر
string.

‏‏اختياري. المجلد الذي يحتوي على الملفات التي تريد نسخها. إذا كان المجلد فارغا، فإن المهمة تنسخ الملفات من المجلد الجذر للمرجع كما لو $(Build.SourcesDirectory) تم تحديده.

إذا كان الإصدار الخاص بك ينتج بيانات اصطناعية خارج دليل المصادر، فحدد $(Agent.BuildDirectory) لنسخ الملفات من الدليل الذي تم إنشاؤه للبنية الأساسية لبرنامج ربط العمليات التجارية.


Contents - محتويات
string. مطلوب القيمة الافتراضية: **.

مسارات الملف المراد تضمينها كجزء من النسخة. تدعم هذه السلسلة أسطرا متعددة من أنماط المطابقة.

على سبيل المثال:

  • * نسخ كافة الملفات في المجلد المصدر المحدد.
  • ** نسخ كافة الملفات في المجلد المصدر المحدد وجميع الملفات في جميع المجلدات الفرعية.
  • **\bin\** ينسخ جميع الملفات بشكل متكرر من أي مجلد سلة.

يتم استخدام النمط لمطابقة مسارات الملفات فقط، وليس مسارات المجلدات. حدد أنماطا، مثل **\bin\** بدلا من **\bin.

استخدم فاصل المسار الذي يطابق نوع عامل البناء الخاص بك. على سبيل المثال، / يجب استخدام لوكلاء Linux. يتم عرض المزيد من الأمثلة أدناه.


TargetFolder - المجلد الهدف
string. مطلوب

المجلد الهدف أو مسار UNC الذي سيحتوي على الملفات المنسخة. يمكنك استخدام المتغيرات. مثال:$(build.artifactstagingdirectory).


CleanTargetFolder - تنظيف المجلد الهدف
boolean. القيمة الافتراضية: false.

‏‏اختياري. حذف كافة الملفات الموجودة في المجلد الهدف قبل عملية النسخ.


OverWrite - الكتابه
boolean. القيمة الافتراضية: false.

‏‏اختياري. يستبدل الملفات الموجودة في المجلد الهدف.


flattenFolders - تسوية المجلدات
boolean. القيمة الافتراضية: false.

‏‏اختياري. تسوية بنية المجلد ونسخ جميع الملفات إلى المجلد الهدف المحدد.


preserveTimestamp - الاحتفاظ بالطوابع الزمنية الهدف
boolean. القيمة الافتراضية: false.

يحافظ على الطابع الزمني للملف الهدف باستخدام الملف المصدر الأصلي.


retryCount - إعادة المحاولة لنسخ الملف
string. القيمة الافتراضية: 0.

يحدد عدد مرات إعادة المحاولة لنسخ الملف. هذه السلسلة مفيدة للمشكلات المتقطعة، مثل المسارات الهدف UNC على مضيف بعيد.


delayBetweenRetries - التأخير بين اثنتين من عمليات إعادة المحاولة.
string. القيمة الافتراضية: 1000.

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


ignoreMakeDirErrors - تجاهل الأخطاء أثناء إنشاء المجلد الهدف.
boolean. القيمة الافتراضية: false.

يتجاهل الأخطاء التي تحدث أثناء إنشاء المجلد الهدف. هذه السلسلة مفيدة لتجنب المشكلات المتعلقة بالتنفيذ المتوازي للمهام من قبل عدة عوامل داخل مجلد هدف واحد.


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

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

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

لا شيء

الملاحظات

إذا لم تتطابق أي ملفات، فستستمر المهمة في الإبلاغ عن النجاح.

  • إذا كان Overwrite ملفا false متطابقا موجودا بالفعل في المجلد الهدف، فلن تبلغ المهمة عن الفشل ولكن سجل وجود الملف بالفعل وتخطيه.
  • إذا كان Overwrite موجودا true وملف متطابق موجود بالفعل في المجلد الهدف، فسيتم الكتابة فوق الملف المطابق.

أمثلة

نسخ الملف إلى دليل التقسيم المرحلي للبيانات الاصطناعية ونشره

steps:
- task: CopyFiles@2
  inputs:
    contents: '_buildOutput/**'
    targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishBuildArtifacts@1
  inputs:
    pathToPublish: $(Build.ArtifactStagingDirectory)
    artifactName: MyBuildOutputs

نسخ الملفات التنفيذية وملف readme

الهدف

تريد نسخ readme فقط والملفات اللازمة لتشغيل تطبيق وحدة تحكم C# هذا:

`-- ConsoleApplication1
    |-- ConsoleApplication1.sln
    |-- readme.txt
    `-- ClassLibrary1
        |-- ClassLibrary1.csproj
    `-- ClassLibrary2
        |-- ClassLibrary2.csproj
    `-- ConsoleApplication1
        |-- ConsoleApplication1.csproj

ملاحظة

يحتوي ConsoleApplication1.sln على مجلد سلة يحتوي على .dll وملفات .exe، راجع النتائج أدناه لمعرفة ما يتم نقله!

في علامة التبويب المتغيرات، $(BuildConfiguration) يتم تعيين إلى release.

مثال مع أنماط مطابقة متعددة:

steps:
- task: CopyFiles@2
  displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
  inputs:
    Contents: |
      ConsoleApplication1\ConsoleApplication1\bin\**\*.exe
      ConsoleApplication1\ConsoleApplication1\bin\**\*.dll
      ConsoleApplication1\readme.txt
    TargetFolder: '$(Build.ArtifactStagingDirectory)'

مثال مع شرط OR:

steps:
- task: CopyFiles@2
  displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
  inputs:
    Contents: |
      ConsoleApplication1\ConsoleApplication1\bin\**\?(*.exe|*.dll)
      ConsoleApplication1\readme.txt
    TargetFolder: '$(Build.ArtifactStagingDirectory)'

مثال مع شرط NOT:

steps:
- task: CopyFiles@2
  displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
  inputs:
    Contents: |
      ConsoleApplication1\**\bin\**\!(*.pdb|*.config)
      !ConsoleApplication1\**\ClassLibrary*\**
      ConsoleApplication1\readme.txt
    TargetFolder: '$(Build.ArtifactStagingDirectory)'

مثال مع المتغيرات في قسم المحتوى

- task: CopyFiles@2
  inputs:
    Contents: '$(Build.Repository.LocalPath)/**' 
    TargetFolder: '$(Build.ArtifactStagingDirectory)'

النتائج

يتم نسخ هذه الملفات إلى الدليل المرحلي:

`-- ConsoleApplication1
    |-- readme.txt
    `-- ConsoleApplication1
        `-- bin
            `-- Release
                | -- ClassLibrary1.dll
                | -- ClassLibrary2.dll
                | -- ConsoleApplication1.exe

انسخ كل شيء من الدليل المصدر باستثناء المجلد .git

مثال مع أنماط مطابقة متعددة:

steps:
- task: CopyFiles@2
  displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
  inputs:
    SourceFolder: '$(Build.SourcesDirectory)'
    Contents: |
      **/*
      !.git/**/*
    TargetFolder: '$(Build.ArtifactStagingDirectory)'

المتطلبات

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

راجع أيضًا