راهنمای استفاده از مخازن و میرورهای داخلی برای توسعهدهندگان در شرایط اختلال اینترنت
با توجه به شرایط بحرانی اینترنت در پی جنگ و اتفاقات اخیر، از نهم اسفند ۱۴۰۴ ارتباط شبکهی داخلی با اینترنت بینالملل با اختلالات بیسابقهای مواجه شده؛ براساس گزارشهای نتبلاکس، سطح دسترسی به اینترنت آزاد در کشور روی مرز ۲ درصد قرار دارد؛ حاکمیت برخی از سرویسهای پرکاربرد مانند موتور جستجوی گوگل را در لیست سفید (Whitelist) قرار داده؛ اما این وضعیت برای توسعهدهندگان نرمافزار، مهندسان زیرساخت و تیمهای فنی که برای پیشبرد پروژهها و اجرای چرخههای CI/CD به مخازن نرمافزاری جهانی وابستهاند، چالشی فلجکننده ایجاد کرده است.
در شرایط کنونی، امکان دانلود مستقیم پکیجها، کتابخانهها و ایمیجهای پایهای از سرویسدهندگانی مانند Docker Hub، npm و PyPI تقریبا غیرممکن شده؛ برای رفع این بنبست فنی و حفظ پایداری پروژهها، استفاده از میرورهای داخلی یک راهکار عملیاتی است.
پارسپک مجموعهای از میرورهای داخلی را برای پرکاربردترین پکیجمنیجرها و مخازن راهاندازی کرده؛ این سرویسها درخواستهای دریافت پکیج را به جای اینترنت بینالملل، به زیرساختهای داخل کشور هدایت میکنند؛ در ادامه، نحوه پیکربندی و استفاده از میرورهای یادشده برای زبانها و ابزارهای مختلف بهصورت فنی و کاربردی آورده شده است.
۱. مخزن داکر
دسترسی به ایمیجهای داکر برای استقرار سرویسها حیاتی است. میرور داکر پارسپک با ایجاد یک Endpoint داخلی، امکان دریافت ایمیجهای عمومی را بدون نیاز به ارتباط مستقیم با Docker Hub فراهم میکند.
تنظیم میرور داکر روی سیستم
برای هدایت درخواستها به مخزن داخلی، فایل daemon.json داکر را با دستور زیر ویرایش یا ایجاد کنید:
سپس برای اعمال تغییرات، سرویس داکر را ریاستارت کنید:
سپس برای دسترسی به ایمیج های داکر از دستور زیر استفاده کنید:
برای استفاده از مخزن داکر پارسپک بدون اعمال تغییر در سرویس داکر خود، از دستور زیر استفاده کنید:
۲. مخزن Node.js (npm)
برای نصب بدون خطای پکیجهای Node.js در زمان اختلال شبکه، میتوانید از میرور npm پارسپک استفاده کنید. این سرویس درخواستهای npm را از طریق زیرساخت پایدار داخلی پردازش میکند و پکیجها را بدون وابستگی به اینترنت بینالملل، بدون ارورهای تایماوت و با سرعت بالا دانلود در اختیار شما قرار میدهد.
تنظیم میرورهای npm
اگر صرفا قصد دارید یک پکیج خاص؛ مثلا express را با استفاده از میرور پارسپک نصب کنید و تنظیمات سیستم تغییر نکند، فلگ registry را بهکار بگیرید:
برای هدایت دائمی و Global تمامی درخواستهای npm در ویندوز، مک و لینوکس به سرورهای داخل کشور، دستور زیر را در ترمینال یا CMD وارد کنید:
اکنون میتوانید دستور npm install را اجرا کرده و از مخزن mirror پارسپک داخل کشور، دادهها را دریافت کنید.
برای بررسی وضعیت میرور و آدرس فعلی رجیستری از کد زیر استفاده کنید:
برای غیرفعالکردن و بازگشت به حالت پیشفرض، میتوانید از دستور زیر استفاده کنید:
۳. مخزن پایتون (pip - PyPI)
توسعهدهندگان پایتون برای دریافت کتابخانهها از PyPI میتوانند از تنظیمات زیر برای دور زدن محدودیتهای فعلی شبکه استفاده کنند. این سرویس درخواستهای pip را ابتدا به سرورهای داخلی پارسپک ارسال میکند و سپس نسخهی موردنیاز پکیج را با سرعت بالا در اختیارتان قرار میدهد.
تنظیم میرورهای PyPI
برای نصب موقت یک پکیج؛ مثلا django از طریق میرور بدون تغییر در تنظیمات اصلی سیستم، دستور زیر را اجرا کنید:
برای اینکه ابزار pip همیشه و بهصورت پیشفرض و Global از میرور پارسپک استفاده کند، دستورات زیر را وارد کنید:
برای بررسی وضعیت میرور از کد زیر استفاده کنید:
برای حذف میرور و بازگشت به تنظیمات پیشفرض، از کد زیر استفاده کنید:
۴. مخزن PHP (Composer)
برای مدیریت وابستگیهای پروژههای PHP که در مخزن Packagist قرار دارند، میتوانید کامپوزر را روی میرور داخلی تنظیم کنید.
تنظیم میرورهای Composer
اگر میخواهید میرور فقط برای پروژهی فعلی، بهصورت لوکال در فایل کانفیگ همان پروژه اعمال شود، دستور زیر را اجرا کنید:
در صورتی که میخواهید تنظیمات بهصورت Global روی سیستم ذخیره شود تا تمام پروژهها از میرور پارسپک استفاده کنند، دستور زیر را وارد کنید:
برای بررسی وضعیت فعلی میروراز کد زیر استفاده کنید:
برای حذف میرور و بازگشت به تنظیمات پیشفرض، دستور زیر را وارد کنید:
۵. مخزن Golang
برای دریافت سریع و بدون خطای ماژولهای زبان Go، میتوانید متغیرهای محیطی مربوط به پروکسی را تغییر دهید.
تنظیم میرورهای Golang
برای تنظیم میرور فوق کافی است صرفا دستورات زیر را اجرا کنید:
برای بررسی میرورها، میتوانید از دستور زیر استفاده کنید (متغیر GOPROXY را بررسی کنید):
برای حذف میرور و بازگشت به تنظیمات پیشفرض، دستور زیر را بهکار بگیرید:
۶. مخزن داتنت (NuGet)
برای توسعهدهندگان داتنت، امکان بازگردانی و نصب پکیجها (Restore) از طریق میرور پارسپک مهیا است.
تنظیم میرورهای NuGet
برای استفاده از میرور پارسپک روی فایل کانفیگ و بازگردانی پکیجها، میتوانید از دستور زیر استفاده کنید:
برای اضافهکردن مستقیم میرور به سورسهای سیستم در داتنت، دستور زیر را اجرا کنید:
برای بررسی وضعیت میرور، کد زیر را بهکار بگیرید:
برای حذف میرور و بازگشت به تنظیمات پیشفرض، دستور زیر را وارد کنید:
۷. مخزن جاوا (Maven)
برای بیلد بدون خطای پروژههای جاوا در زمان اختلالات اینترنت، میتوانید از میرور Maven پارسپک استفاده کنید.
تنظیم میرورهای Maven
برای هدایت درخواستهای Maven به میرور داخلی، باید فایل پیکربندی آن را (معمولا در مسیر conf/settings.xml در دایرکتوری نصب ویندوز یا m2/.settings.xml~ در لینوکس) ویرایش کنید و قطعهکد زیر را در بلاک <mirrors> قرار دهید:
برای بررسی وضعیت میرور، کد زیر را وارد کنید:
برای حذف میرور و بازگشت به تنظیمات پیشفرض نیز کافی است قطعهکد اضافهشده در بلاک <mirrors> را از فایل settings.xml پاک کنید.