March 16, 2025
راهنمای جامع بررسی و رفع خطاهای GitHub Actions
GitHub Actions یکی از ابزارهای قدرتمند برای خودکارسازی فرآیندهای CI/CD است، اما در طول اجرای Workflow ممکن است با خطاهای مختلفی مواجه شویم. در این مقاله، رایجترین کدهای خطا، روشهای بررسی لاگها و راهحلهای کاربردی برای رفع مشکلات را بررسی میکنیم.
۱. کدهای خروج (Exit Codes) و معنای آنها
در سیستمهای مبتنی بر یونیکس، هر برنامهای که اجرا میشود یک مقدار به نام کد خروج (Exit Code) تولید میکند. در GitHub Actions نیز این مقدار مشخص میکند که اجرای اسکریپت موفق بوده یا با مشکل روبهرو شده است.
کدهای خروج متداول در GitHub Actions
کد خروج | توضیح |
---|---|
0 |
اجرا موفقیتآمیز بود. |
1 |
یک خطای عمومی رخ داده است. |
2 |
سوء استفاده از یک فرمان داخلی رخ داده است. |
126 |
دستور یافت شد اما اجازهی اجرا ندارد. |
127 |
دستور یافت نشد. |
128 |
مقدار خروج نامعتبر است. |
130 |
اجرای اسکریپت با Ctrl+C متوقف شده است. |
137 |
فرآیند به دلیل کمبود حافظه (OOM) متوقف شده است. |
143 |
فرآیند با سیگنال SIGTERM خاتمه یافته است. |
۲. خطاهای رایج در GitHub Actions و راهحلها
در هنگام اجرای یک workflow ممکن است با پیامهای خطای مختلفی مواجه شوید. در ادامه، برخی از رایجترین خطاها و روشهای رفع آنها آورده شده است:
۱. Error: Process completed with exit code 1
علت:
- معمولاً این خطا نشان میدهد که یک اسکریپت یا دستور در Workflow ناموفق بوده است.
راهحل:
- بررسی کنید که آیا دستور یا اسکریپت در محیط محلی شما اجرا میشود یا خیر.
- پیامهای خطا در لاگها را بررسی کنید تا علت دقیق را پیدا کنید.
۲. Error: No such file or directory
علت:
- مسیر فایل یا دایرکتوری اشتباه وارد شده است.
- فایل موردنظر وجود ندارد یا قبل از اجرای دستور ساخته نشده است.
راهحل:
- بررسی کنید که آیا مسیر فایل به درستی تعریف شده است.
- اگر فایل در مرحلهای دیگر ساخته میشود، مطمئن شوید که مراحل به درستی اجرا شدهاند.
۳. Error: Resource not accessible by integration
علت:
- GitHub Actions نمیتواند به منابع خاصی مانند ریپازیتوری خصوصی یا Secrets دسترسی پیدا کند.
راهحل:
- بررسی کنید که آیا GitHub Token (
secrets.GITHUB_TOKEN
) در Workflow به درستی مقداردهی شده است. - مطمئن شوید که تنظیمات مربوط به دسترسی به مخزن به درستی انجام شده است.
۴. Error: Cannot find module ...
علت:
- معمولاً این خطا در Node.js رخ میدهد و به این معناست که یک ماژول نصب نشده است.
راهحل:
- اطمینان حاصل کنید که دستورات
npm install
یاyarn install
را اجرا کردهاید. - در صورت نیاز،
package.json
وnode_modules
را بررسی کنید.
۵. Error: Permission denied
علت:
- اسکریپت یا فایل اجرایی مجوز اجرا ندارد.
راهحل:
- از دستور زیر برای اضافه کردن مجوز اجرا به فایل استفاده کنید:
chmod +x script.sh
- مطمئن شوید که Workflow به درستی تعریف شده و اسکریپتها از مسیر صحیح اجرا میشوند.
۳. چگونه لاگهای GitHub Actions را مشاهده کنیم؟
برای مشاهدهی لاگهای اجرای Workflow، مراحل زیر را دنبال کنید:
- به GitHub Repository خود بروید.
- روی Actions کلیک کنید.
- Workflow مورد نظر را انتخاب کنید.
- روی یکی از Jobs کلیک کنید تا لاگها نمایش داده شوند.
همچنین میتوانید با اضافه کردن این خط در اسکریپت خود، دیباگ مود را فعال کنید:
env:
ACTIONS_STEP_DEBUG: true
نتیجهگیری
در این مقاله با رایجترین کدهای خطا و نحوهی رفع آنها در GitHub Actions آشنا شدیم. با بررسی دقیق لاگها و استفاده از روشهای پیشنهادی، میتوانید خطاهای Workflow خود را برطرف کرده و اجرای CI/CD را بدون مشکل پیش ببرید.
آیا تاکنون با خطای خاصی در GitHub Actions مواجه شدهاید؟ تجربیات خود را در بخش نظرات با ما به اشتراک بگذارید!