@actions/download-artifact
تحذير
action/download-artifact@v3 من المقرر إيقافه في 30 نوفمبر 2024 . يتعلم أكثر. وبالمثل، تمت جدولة إيقاف الإصدار 1/الإصدار 2 في 30 يونيو 2024 . يرجى تحديث سير العمل الخاص بك لاستخدام الإصدار 4 من الإجراءات المصطنعة. لن يؤثر هذا الإيقاف على أي إصدارات موجودة من GitHub Enterprise Server يستخدمها العملاء.
قم بتنزيل عناصر الإجراءات من عمليات تشغيل سير العمل لديك. يتم تشغيله داخليًا بواسطة حزمة @actions/artifact.
انظر أيضًا تحميل القطعة الأثرية.
@actions/download-artifact
فقدان الإذن
تحميل قطعة أثرية واحدة
تحميل جميع التحف
قم بتنزيل العديد من القطع الأثرية (المفلترة) إلى نفس الدليل
قم بتنزيل العناصر من عمليات تشغيل سير العمل أو المستودعات الأخرى
المدخلات
النواتج
التحسينات
كسر التغييرات
v4 - ما الجديد
الاستخدام
أمثلة
القيود
مهم
download-artifact@v4+ غير مدعوم حاليًا على GHES حتى الآن. إذا كنت تستخدم GHES، فيجب عليك استخدام الإصدار 3.
يعد إصدار upload-artifact@v4 وdownload-artifact@v4 بمثابة تغييرات كبيرة في بنية الواجهة الخلفية لـ Artifacts. لديهم العديد من التحسينات في الأداء والسلوك.
لمزيد من المعلومات، راجع وثائق @actions/artifact
.
أصبحت التنزيلات أسرع بشكل ملحوظ، وتحسن بنسبة تصل إلى 90% في أسوأ السيناريوهات.
يمكن تنزيل العناصر من عمليات تشغيل سير العمل والمستودعات الأخرى عند توفيرها مع PAT.
في برامج التشغيل المستضافة ذاتيًا، قد تكون هناك حاجة إلى قواعد إضافية لجدار الحماية.
تنزيل العناصر التي تم إنشاؤها من action/upload-artifact@v3
وما دونه غير مدعوم.
للحصول على مساعدة بشأن التغييرات العاجلة، راجع MIGRATION.md.
- الاستخدامات: action/download-artifact@v4 with:# اسم العنصر المراد تنزيله.# إذا لم يكن محددًا، فسيتم تنزيل جميع العناصر للتشغيل.# اختياري.الاسم:# مسار الوجهة. يدعم توسيع التلدة الأساسية. # اختياري. الافتراضي هو $GITHUB_WORKSPACEpath:# نمط عالمي للعناصر التي يجب تنزيلها.# يتم تجاهله إذا تم تحديد الاسم.# اختياري.نمط:# عند مطابقة العديد من العناصر، يؤدي هذا إلى تغيير سلوك أدلة الوجهة.# إذا كان صحيحًا، ستكون العناصر التي تم تنزيلها في نفس الدليل المحدد بواسطة المسار.# إذا كانت خطأ، فسيتم استخراج العناصر التي تم تنزيلها إلى أدلة فردية مسماة ضمن المسار المحدد.# اختياري. الافتراضي هو 'false'merge-multiple:# رمز GitHub المميز المستخدم للمصادقة باستخدام GitHub API.# هذا مطلوب عند تنزيل العناصر من مستودع مختلف أو من تشغيل سير عمل مختلف.# اختياري. إذا لم يتم تحديده، فسيقوم الإجراء بتنزيل العناصر من الريبو الحالي وسير العمل الحالي run.github-token:# تم ضم مالك المستودع واسم المستودع معًا بواسطة "/".# إذا تم تحديد github-token، فهذا هو المستودع الذي سيتم تنزيل التحف من.# اختياري. الافتراضي هو ${{ github.repository }}repository:# معرف تشغيل سير العمل حيث تم تحميل عنصر التنزيل المطلوب منه.# إذا تم تحديد رمز github-token، فهذا هو التشغيل الذي سيتم تنزيل العناصر منه.# اختياري. الافتراضي هو ${{ github.run_id }}معرف التشغيل:
اسم | وصف | مثال |
---|---|---|
download-path | المسار المطلق الذي تم فيه تنزيل العنصر (العناصر). | /tmp/my/download/path |
التنزيل إلى دليل العمل الحالي ( $GITHUB_WORKSPACE
):
خطوات: - الاستخدامات: action/download-artifact@v4 مع: الاسم: my-artifact- الاسم: عرض هيكل الملفات التي تم تنزيلها تشغيل: ليرة سورية -R
التنزيل إلى دليل محدد (يدعم أيضًا التوسع ~
):
خطوات: - الاستخدامات: action/download-artifact@v4 مع: الاسم: my-artifactpath: your/destination/dir- name: عرض بنية الملفات التي تم تنزيلها تشغيل: ls -R your/destination/dir
إذا لم يتم توفير معلمة إدخال name
، فسيتم تنزيل جميع العناصر. للتمييز بين العناصر التي تم تنزيلها، سيتم إنشاء دليل يُشار إليه باسم العناصر بشكل افتراضي لكل قطعة أثرية على حدة. يمكن تغيير هذا السلوك باستخدام معلمة الإدخال merge-multiple
.
على سبيل المثال، إذا كان هناك قطعتان أثريتان Artifact-A
و Artifact-B
، وكان الدليل هو etc/usr/artifacts/
، فستبدو بنية الدليل كما يلي:
etc/usr/artifacts/ Artifact-A/ ... contents of Artifact-A Artifact-B/ ... contents of Artifact-B
قم بتنزيل كافة العناصر إلى دليل العمل الحالي:
خطوات: - الاستخدامات: action/download-artifact@v4- الاسم: عرض هيكل الملفات التي تم تنزيلها تشغيل: ليرة سورية -R
قم بتنزيل جميع القطع الأثرية إلى دليل محدد:
خطوات: - الاستخدامات: action/download-artifact@v4 مع: المسار: المسار/إلى/المصنوعات- الاسم: عرض بنية الملفات التي تم تنزيلها تشغيل: ls -R path/to/artifacts
ولتنزيلها في نفس الدليل:
خطوات: - الاستخدامات: action/download-artifact@v4 مع: المسار: المسار/إلى/artifactsmerge-multiple: true- الاسم: عرض بنية الملفات التي تم تنزيلها تشغيل: ls -R path/to/artifacts
مما سيؤدي إلى:
path/to/artifacts/ ... contents of Artifact-A ... contents of Artifact-B
في سيناريوهات نظام القوس/نظام التشغيل المتعددة، قد يكون لديك قطع أثرية مبنية في وظائف مختلفة. لتنزيل جميع العناصر إلى نفس الدليل (أو مطابقة نمط الكرة الأرضية)، يمكنك استخدام pattern
merge-multiple
.
الوظائف: تحميل:استراتيجية: مصفوفة:runs-on: [ubuntu-latest, macos-latest, windows-latest]runs-on: ${{ Matrix.runs-on }}خطوات: - الاسم: إنشاء تشغيل ملف: echo "hello from ${{matrix.runs-on }}" > file-${{matrix.runs-on }}.txt- الاسم: استخدامات تحميل الأداة: الإجراءات/تحميل-قطعة أثرية @v4 مع: الاسم: my-artifact-${{ Matrix.runs-on }} المسار: file-${{ Matrix.runs-on }}.txt التنزيل: الاحتياجات: التحميل، التشغيل على: أحدث خطوات أوبونتو: - الاسم: تنزيل جميع استخدامات Artifacts:actions/download-artifact@v4 مع:path: my-artifactpattern: my-artifact-*merge-multiple: true- run: ls -R my-artifact
وينتج عن هذا دليل مثل ذلك:
my-artifact/ file-macos-latest.txt file-ubuntu-latest.txt file-windows-latest.txt
قد يكون من المفيد تنزيل Artifacts من عمليات تشغيل سير عمل أخرى، أو حتى من مستودعات أخرى. افتراضيًا، يتم تحديد نطاق الأذونات بحيث يمكنها فقط تنزيل العناصر ضمن تشغيل سير العمل الحالي. لرفع مستوى الأذونات لهذا السيناريو، يمكنك تحديد github-token
مع مستودع آخر وتشغيل المعرفات:
خطوات: - الاستخدامات: action/download-artifact@v4 with:name: my-other-artifactgithub-token: ${{ Secrets.GH_PAT }} # رمز مميز مع الإجراءات: قراءة الأذونات في المستودع المستهدف: Actions/toolkitrun-id: 1234
لا يتم الاحتفاظ بأذونات الملف أثناء تحميل العناصر. ستحتوي جميع الدلائل على 755
وستحتوي جميع الملفات على 644
. على سبيل المثال، إذا قمت بإنشاء ملف قابل للتنفيذ باستخدام chmod
ثم قمت بتحميل هذا الملف، فلن يكون من المضمون تعيين الملف بعد التنزيل كملف قابل للتنفيذ.
إذا كان يجب عليك الحفاظ على الأذونات، فيمكنك tar
كل ملفاتك معًا قبل تحميل العناصر. بعد التنزيل، سيحتفظ ملف tar
بأذونات الملف وحساسية حالة الأحرف.
- الاسم: "ملفات القطران" تشغيل: tar -cvf my_files.tar /path/to/my/directory- الاسم: "تحميل قطعة أثرية" الاستخدامات: action/upload-artifact@v4 مع: الاسم: my-artifactpath: my_files.tar