اجرای CI/CD Pipeline به زبان ساده

در این پست یک اجرای CI/CD Pipeline به زبان ساده خواهیم داشت.

قبل از ورود به بحث پایپ لاین یا همون خط لوله باید ببینیم CI/CD چیه و چیکار میکنه؟

تعریف CI یا Continuous Integration:

فرآیندی در چرخه توسعه نرم افزار است که تغییرات صورت گرفته در کد توسط توسعه دهندگان مختلف را در خط اصلی(mainline) پروژه ادغام می کند. این خط اصلی معمولا توسط یک منبع(repository) اشتراکی(shared) مدیریت و مورد دسترسی قرار می گیرد. اجرای این فرآیند باعث می شود همیشه یک منبع کد با کمترین انحراف(تفاوت) در دسترس باشد. هر ادغام می تواند توسط اجرای Build و Test مورد بررسی قرار گرفته تا تضمین کند کد ادغام شده قابل اطمینان است. اصولا اجرای تست بخشی از فرآیند CI نیست اما معمولا با آن پیاده سازی می شود.

ادامه خواندن

فرهنگ DevOps و واژه مهندس دوآپس

در این نوشته میخوام در مورد فرهنگ DevOps و واژه مهندس دوآپس براتون بگم.

قطعا این روزها بیشتر با این واژه برخورد دارید و تو خیلی از کانال‌ها، سایتها و… این واژه رو بیشتر از قبل میبینید و از همه مهم تر تو پشنهاد کار(Job Offer) هم این واژه جای خودش رو باز کرده و با ی سرچ کوچیک تو لینکدین پوزیشن های شغلی زیادی رو در این مورد پیدا می کنید. و اما واقعا دوآپس(DevOps) چیه؟ چطوری کار میکنه؟ چرا انقدر همه گیر شده؟ و به کی میگن مهندس دوآپس؟ تو این پست این واژه رو میشکافم و در مورد خرت و پرت هاش براتون میگم…

ادامه خواندن

تجربه مهاجرت به Docker و سرور جدید

سلام تو این پست از تجربه مهاجرت به Docker و سرور جدید وبسایتم براتون میگم.

نزدیک به 6 سال میشه که وبسایتم روی زیرساختی بسیار محدود در حال ادامه حیات بود و به عبارتی بجای زندگی کردن فقط زنده بود، چرخه ی ناعادلانه ای که شاید خیلی از انسان ها به دلیل بی مهری مدیران و مسوولان دچارش هستند. سروری با 128مگابایت رم که بقیه مشخصات رو هم خودتون میتونید حدس بزنید و خوب این میزان منابع برای بالا نگه داشتن وبسایت تا اونجایی که میدیدید خوب بود و برای ارایه خدمات بهتر و استفاده از فناوری های روز جوابگو نبود، دقیقا مثل همون مسوولان عزیز که جوابگو نیازهای بروز ما نیستند. خلاصه که از من تلاش برای فشار بیشتر به سرور و از سرور صبوری پشت صبوری… تا اینکه دیدم فشار بیشتر در توان این بنده ی بخت برگشته نیست و از اونجایی که زمان هم یاری نمی کرد وقت ارتقاع و بروزرسانی و… رو هم نداشتم و به ناچار مدتی رها شد و هر از گاهی سر میزدم و پستی، آموزشی چیزی میذاشتم تا بالاخره به لطف ویروس کرونا و قرنطینه فرصتی شد تا دستی به سر و روی این بنده مخلص و گوش بفرمان بکشم…

ادامه خواندن

آشنایی با ذخیره سازی Stratis

شرکت ردهت(Red Hat) در نسخه جدید سیستم عامل خود RHEL 8 از انتشار یک سیستم فایل مدیریت حجم(VMF) به نام Stratis Storage خبر داد که امروز قصد دارم این سیستم ذخیره سازی رو معرفی و مورد بررسی قرار بدم. Stratis یک سیستم ذخیره سازی محلی(Local) است که قابلیت های پیشرفته ذخیره سازی را به صورت جامع و در قالب یک سیستم یکپارچه مدیریتی در اختیار شما قرار می دهد. این امکانات شامل Thin-provisioning, Snapshots, Monitoring و مدیریت فضا به صورت استخری(Pool-based) می باشد که با داشتن کرنل 4.14 یا بالاتر میتوان از آن استفاده نمود.

ادامه خواندن

آشنایی با Link Aggregation

Link Aggregation امکانی در شبکه است که می تواند تعدادی درگاه شبکه را با یکدیگر تجمیع نموده و توان و سرعت شبکه را افزایش دهد. همچنین این قابلیت امکان ایجاد افزونگی و تحمل خطا را فراهم می نماید. فرض کنید که سرور شما دارای چند درگاه شبکه است که با استفاده از Link Aggregation می توانید آن ها را در یک گروه تجمیع درگاه(LAG) تعریف نموده و یک درگاه شبکه منطقی ایجاد نمایید که علاوه بر افزایش توان و سرعت شبکه، در صورتی که یکی از خطوط شبکه دچار اختلال شد، ارتباط با شبکه قطع نشود و از طریق دیگر خطوط فیزیکی ارتباط پایدار بماند.

ادامه خواندن