@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 مع: # اسم القطعة الأثرية المراد تنزيلها. # إذا لم يتم تحديده، فسيتم تنزيل كافة العناصر الخاصة بالتشغيل. # خياري. الاسم: # مسار الوجهة. يدعم توسيع التلدة الأساسية. # خياري. الافتراضي هو مسار $GITHUB_WORKSPACE: # نمط كروي للعناصر التي يجب تنزيلها. # يتم التجاهل إذا تم تحديد الاسم. # خياري. Pattern: # عند مطابقة العديد من العناصر، يؤدي هذا إلى تغيير سلوك أدلة الوجهة. # إذا كان صحيحًا، فستكون العناصر التي تم تنزيلها في نفس الدليل المحدد بواسطة المسار. # إذا كان خطأ، فسيتم استخراج العناصر التي تم تنزيلها إلى أدلة فردية مسماة ضمن المسار المحدد. # خياري. الافتراضي هو دمج متعدد "خطأ": # رمز GitHub المستخدم للمصادقة باستخدام GitHub API. # يعد هذا مطلوبًا عند تنزيل العناصر من مستودع مختلف أو من مسار عمل مختلف. # خياري. إذا لم يتم تحديده، فسيقوم الإجراء بتنزيل العناصر من الريبو الحالي وتشغيل سير العمل الحالي. github-token: # تم ضم مالك المستودع واسم المستودع معًا بواسطة "/". # إذا تم تحديد رمز github، فهذا هو المستودع الذي سيتم تنزيل العناصر منه. # خياري. الافتراضي هو مستودع ${{ github.repository }}: # معرف تشغيل سير العمل حيث تم تحميل عنصر التنزيل المطلوب منه. # إذا تم تحديد رمز github، فهذا هو التشغيل الذي سيتم تنزيل العناصر منه. # خياري. الافتراضي هو ${{ github.run_id }} معرف التشغيل:
اسم | وصف | مثال |
---|---|---|
download-path | المسار المطلق الذي تم فيه تنزيل العنصر (العناصر). | /tmp/my/download/path |
التنزيل إلى دليل العمل الحالي ( $GITHUB_WORKSPACE
):
خطوات: - الاستخدامات: Actions/download-artifact@v4 مع: الاسم: my-artifact- الاسم: تشغيل بنية عرض الملفات التي تم تنزيلها: ls -R
التنزيل إلى دليل محدد (يدعم أيضًا التوسع ~
):
خطوات: - الاستخدامات: action/download-artifact@v4 مع: الاسم: مسار my-artifact: your/destination/dir- الاسم: بنية عرض الملفات التي تم تنزيلها تشغيل: 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
قم بتنزيل كافة العناصر إلى دليل العمل الحالي:
خطوات: - الاستخدامات: Actions/download-artifact@v4- الاسم: عرض بنية الملفات التي تم تنزيلها: ls -R
قم بتنزيل جميع القطع الأثرية إلى دليل محدد:
خطوات: - الاستخدامات: Actions/download-artifact@v4 مع: المسار: المسار/to/artifacts- الاسم: بنية عرض الملفات التي تم تنزيلها تشغيل: ls -R path/to/artifacts
ولتنزيلها في نفس الدليل:
خطوات: - الاستخدامات: Actions/download-artifact@v4 مع: المسار: المسار/to/artifacts merge-multiple: true- الاسم: بنية عرض الملفات التي تم تنزيلها تشغيل: ls -R path/to/artifacts
مما سيؤدي إلى:
path/to/artifacts/ ... contents of Artifact-A ... contents of Artifact-B
في سيناريوهات نظام القوس/نظام التشغيل المتعددة، قد يكون لديك قطع أثرية مبنية في وظائف مختلفة. لتنزيل جميع العناصر إلى نفس الدليل (أو مطابقة نمط الكرة الأرضية)، يمكنك استخدام pattern
merge-multiple
.
الوظائف: التحميل: الإستراتيجية: المصفوفة: التشغيل: [ubuntu-latest, macos-latest, windows-latest] التشغيل المستمر: ${{ Matrix.runs-on }} الخطوات: - الاسم: إنشاء ملف تشغيل: echo "hello from ${{ Matrix.runs-on }}" > file-${{ Matrix.runs-on }}.txt - الاسم: يستخدم تحميل Artifact: الإجراءات/upload-artifact@v4 مع: الاسم: my-artifact-${{ Matrix.runs-on }} المسار: file-${{ Matrix.runs-on }}.txt تنزيل: الاحتياجات: تشغيل التحميل: أحدث خطوات أوبونتو: - الاسم: تنزيل جميع استخدامات Artifacts: الإجراءات/download-artifact@v4 مع: المسار: نمط my-artifact: my-artifact-* merge-multiple: true - تشغيل: 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 مع: الاسم: my-other-artifact github-token: ${{ Secrets.GH_PAT }} # رمز مميز مع الإجراءات: قراءة الأذونات في مستودع الريبو المستهدف: الإجراءات/معرف تشغيل مجموعة الأدوات: 1234
لا يتم الاحتفاظ بأذونات الملف أثناء تحميل العناصر. ستحتوي جميع الأدلة على 755
وستحتوي جميع الملفات على 644
. على سبيل المثال، إذا قمت بإنشاء ملف قابل للتنفيذ باستخدام chmod
ثم قمت بتحميل هذا الملف، فلن يكون من المضمون تعيين الملف بعد التنزيل كملف قابل للتنفيذ.
إذا كان يجب عليك الحفاظ على الأذونات، فيمكنك tar
كل ملفاتك معًا قبل تحميل العناصر. بعد التنزيل، سيحتفظ ملف tar
بأذونات الملف وحساسية حالة الأحرف.
- الاسم: تشغيل "ملفات Tar": tar -cvf my_files.tar /path/to/my/directory- الاسم: يستخدم "تحميل قطعة أثرية":actions/upload-artifact@v4 مع: الاسم: مسار my-artifact: my_files. قطران