🛠 نجات توسعهدهندهها در شرایط «نت ملی»؛ تجربیات عملی ما برای زنده نگه داشتن چرخه تولید
توی این چند وقت که دسترسیها محدود شد و اینترنت به حالت داخلی (Intranet) رفت، ما هم مثل خیلی از تیمهای دیگه با چالشهای جدی روبرو شدیم. اما به جای متوقف شدن، سعی کردیم با ابزارهای جایگزین و تغییر استراتژی، جریان کار رو حفظ کنیم.
خواستم تجربیات واقعی و سولوشنهایی که تو این مدت پیادهسازی کردیم رو باهاتون به اشتراک بذارم تا شاید گرهای از کار شما هم باز کنه:
1️⃣ عبور از تحریم و محدودیت پکیجها (Frontend & Backend)
برای پروژههایی مثل Next.js که وابستگی زیادی به پکیجها دارن، اولین حرکت ما استفاده از Mirror Serverهای داخلی بود.
🔹 پیشنهاد: سرویس Runflare تقریباً اکثر ابزارها رو Mirror کرده، سرورهاش داخلیه و سرعتش عالیه.
🔗 https://runflare.com/mirrors/
🔥 خبر ویژه: همون روز اول با تیم فنی رانفلر صحبت کردم و دمشون گرم، خیلی سریع درخواست رو پیگیری کردن و Nuget رو هم به لیست سرویسهاشون اضافه کردن. الان دیگه داتنتیها هم میتونن راحت پکیجها رو دریافت کنن.
2️⃣ مدیریت داکر ایمیجها (Docker Images)
برای پول (Pull) کردن ایمیجها، پلتفرم docker.ir گزینه کارراهاندازی هست.
⚠️ نکته حیاتی برای داتنتیها:
از اونجایی که ایمیجهای داتنت روی Docker Hub نیستن و روی رجیستری مایکروسافت (MCR) قرار دارن، حتماً ایمیجهای SDK و ASP Core رو:
۱. یا روی سیستم لوکال داشته باشید.
۲. یا (روش اصولیتر) روی رجیستری داخلی خودتون Push کنید تا در صورت قطعی، بیلدها فیل نشن.
3️⃣ خداحافظی با وابستگی به کش لوکال (The Nexus Solution)
اوایل کار متکی به کشِ لوکال سیستمها (فولدر .nuget) بودیم، اما این روش ریسک بالایی داشت.
✅ راهکار پایدار: ما Nexus رو بالا آوردیم. با این کار تمام پکیجهای فرانت و بکاند یکبار در نکسوس کش میشن و اگه اینترنت کلاً قطع بشه، تیم فنی بدون هیچ توقفی به کارش ادامه میده.
4️⃣ ابزارهای مدیریت سورس، CI/CD و ارتباطات
برای اینکه تیم ریموت و پایپلاینها از کار نیفتن، از سرویسهای داخلی و Self-Hosted استفاده کردیم:
* گیت و رانر: سرویس Hamgit (محصول همروش) هم مخازن رو میزبانی میکنه و هم Runner برای پایپلاینها میده.
* جلسات آنلاین: جایگزین Google Meet، از Jitsi استفاده کردیم (هم توی بازارچه همروش هست، هم میتونید روی سرور خودتون بالا بیارید).
* چت سازمانی: ما خودمون Mattermost رو روی سرور شخصی بالا آوردیم که عالیه. اگر دنبال سرویس آمادهاید، Rocket.Chat در بازارچه ابری همروش موجوده.
🔗 یک گزینه کمکی دیگر:
سرویس چابکان هم Mirrorهای خوبی ارائه میده که داشتن لینککش به عنوان پلن B ضرری نداره:
🔗 https://iran.chabokan.net/#services
💡 هدفم از این پست فقط انتقال تجربه و کمک به کامیونیتی بود. امیدوارم به کارتون بیاد. هر جا سوالی بود یا کمکی از دستم برمیومد، حتماً بگید.
🎺 برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامهنویسی، به کانال ما بپیوندید!
📚💻 @dotnetcode🖥 👨💻
#DevOps #DotNet #Network #Programming #Intranet #ExperienceSharing #SoftwareEngineering
توی این چند وقت که دسترسیها محدود شد و اینترنت به حالت داخلی (Intranet) رفت، ما هم مثل خیلی از تیمهای دیگه با چالشهای جدی روبرو شدیم. اما به جای متوقف شدن، سعی کردیم با ابزارهای جایگزین و تغییر استراتژی، جریان کار رو حفظ کنیم.
خواستم تجربیات واقعی و سولوشنهایی که تو این مدت پیادهسازی کردیم رو باهاتون به اشتراک بذارم تا شاید گرهای از کار شما هم باز کنه:
1️⃣ عبور از تحریم و محدودیت پکیجها (Frontend & Backend)
برای پروژههایی مثل Next.js که وابستگی زیادی به پکیجها دارن، اولین حرکت ما استفاده از Mirror Serverهای داخلی بود.
🔹 پیشنهاد: سرویس Runflare تقریباً اکثر ابزارها رو Mirror کرده، سرورهاش داخلیه و سرعتش عالیه.
🔗 https://runflare.com/mirrors/
🔥 خبر ویژه: همون روز اول با تیم فنی رانفلر صحبت کردم و دمشون گرم، خیلی سریع درخواست رو پیگیری کردن و Nuget رو هم به لیست سرویسهاشون اضافه کردن. الان دیگه داتنتیها هم میتونن راحت پکیجها رو دریافت کنن.
2️⃣ مدیریت داکر ایمیجها (Docker Images)
برای پول (Pull) کردن ایمیجها، پلتفرم docker.ir گزینه کارراهاندازی هست.
⚠️ نکته حیاتی برای داتنتیها:
از اونجایی که ایمیجهای داتنت روی Docker Hub نیستن و روی رجیستری مایکروسافت (MCR) قرار دارن، حتماً ایمیجهای SDK و ASP Core رو:
۱. یا روی سیستم لوکال داشته باشید.
۲. یا (روش اصولیتر) روی رجیستری داخلی خودتون Push کنید تا در صورت قطعی، بیلدها فیل نشن.
3️⃣ خداحافظی با وابستگی به کش لوکال (The Nexus Solution)
اوایل کار متکی به کشِ لوکال سیستمها (فولدر .nuget) بودیم، اما این روش ریسک بالایی داشت.
✅ راهکار پایدار: ما Nexus رو بالا آوردیم. با این کار تمام پکیجهای فرانت و بکاند یکبار در نکسوس کش میشن و اگه اینترنت کلاً قطع بشه، تیم فنی بدون هیچ توقفی به کارش ادامه میده.
4️⃣ ابزارهای مدیریت سورس، CI/CD و ارتباطات
برای اینکه تیم ریموت و پایپلاینها از کار نیفتن، از سرویسهای داخلی و Self-Hosted استفاده کردیم:
* گیت و رانر: سرویس Hamgit (محصول همروش) هم مخازن رو میزبانی میکنه و هم Runner برای پایپلاینها میده.
* جلسات آنلاین: جایگزین Google Meet، از Jitsi استفاده کردیم (هم توی بازارچه همروش هست، هم میتونید روی سرور خودتون بالا بیارید).
* چت سازمانی: ما خودمون Mattermost رو روی سرور شخصی بالا آوردیم که عالیه. اگر دنبال سرویس آمادهاید، Rocket.Chat در بازارچه ابری همروش موجوده.
🔗 یک گزینه کمکی دیگر:
سرویس چابکان هم Mirrorهای خوبی ارائه میده که داشتن لینککش به عنوان پلن B ضرری نداره:
🔗 https://iran.chabokan.net/#services
💡 هدفم از این پست فقط انتقال تجربه و کمک به کامیونیتی بود. امیدوارم به کارتون بیاد. هر جا سوالی بود یا کمکی از دستم برمیومد، حتماً بگید.
📚💻 @dotnetcode
#DevOps #DotNet #Network #Programming #Intranet #ExperienceSharing #SoftwareEngineering
Please open Telegram to view this post
VIEW IN TELEGRAM
رانفلر | سکوی ابری - سرویس ابری - هاست ابری
Runflare Mirror - رانفلر | سکوی ابری - سرویس ابری - هاست ابری
Runflare Mirror در رانفلر برخی از مخزن ها و کتابخانه های مورد نیاز برنامه نویسان را به صورت mirror آماده ساخته ایم تا مشکل اختلال های اینترنت و محدودیت های زیر ساخت کشور در ارتباط با اینترنت بین الملل برای کاربران ما برطرف شود. از این لحظه شما می توانید با…
❤9👍4👏4