Artifact در مهندسی نرمافزار به خروجی تولیدشده در یک فرایند گفته میشود. فایل اجرایی، بسته NPM، JAR، Wheel پایتون، بسته PHP، گزارش تست، SBOM و ایمیج کانتینر میتوانند آرتیفکت باشند. بنابراین آرتیفکت فقط به فایل باینری محدود نیست.
| مرحله | مثال آرتیفکت | مصرفکننده |
|---|---|---|
| Build | فایل JAR یا تصویر کانتینر | پایپلاین استقرار |
| Test | گزارش JUnit XML یا Coverage | داشبورد CI |
| Security | SBOM و گزارش اسکن | تیم امنیت |
| Release | فایل ZIP یا بسته نسخهدار | کاربر یا سرور |
مثال در GitHub Actions
- name: Upload test report
uses: actions/upload-artifact@v4
with:
name: test-report
path: reports/junit.xml
تفاوت با سورس کد
آرتیفکت معمولاً خروجی قابل نگهداری، انتشار یا بازتولید است، در حالی که سورس کد ورودی فرایند ساخت محسوب میشود. برای ردیابی زنجیره تامین، آرتیفکت باید با Commit و Build مشخص مرتبط باشد.
اصطلاحات مرتبط: یکپارچهسازی و تحویل/استقرار مداوم، فهرست اجزای نرمافزار، ایمیج داکر، زنجیره تامین نرمافزار، ورژنینگ.