مقالههای دواپس
۱۵ مقاله
آموزش ساخت و تزریق SSH Key در پایپلاینهای CI/CD گیتلب
فرض کن یه پایپلاین CI/CD داری که قراره پروژه رو روی یه سرور دیگه دیپلوی کنه. برای این کار رانرِ گیتلب باید به اون سرور وصل بشه و دستورهای لازم رو اجرا کنه؛ ولی مشکل اینجاست که اتصال SSH معمولاً یا پسورد میخواد یا نیاز به یه تعامل دستی داره، در حالی که پایپلاین قراره کاملاً خودکار اجرا بشه و کسی پشتش نشسته که پسورد وارد کنه. راهحل این مشکل استفاده از SSH key هست. بهجای پسورد، یه جفت کلید (عمومی و خصوصی) میسازیم؛ کلید عمومی رو روی سرور مقصد میذاریم و کلید خصوصی رو یه جای امن نگه میداریم که فقط پایپلاین بهش دسترسی داشته باشه. گیتلب هم دقیقاً برای همین کار امکانی به اسم Variables داره که میتونیم کلید خصوصی رو بهصورت protected توش تعریف کنیم تا موقع اجرای پایپلاین در دسترس باشه، بدون اینکه جایی توی کد یا لاگها لو بره.
ادامه مطلب ←
نحوه راه اندازی و تنظیم Gitlab Runner
در این مقاله با مفاهیم اصلی GitLab Runner و نحوه استفاده از آن برای اجرای Pipelineهای CI/CD آشنا میشویم. ابتدا ساختار Runner، Executorهای مختلف مانند Docker و Shell، نحوه نصب و ثبت Runner و نقش `tags` در انتخاب Runner مناسب بررسی میشود. سپس با اجرای یک Job ساده، نحوه ایجاد محیط اجرای Job، استفاده از متغیرهای CI/CD و بررسی لاگها و خطاهای اجرای Pipeline بهصورت عملی مرور میشود. در ادامه، تنظیمات مهم `config.toml`، نحوه استفاده از Helper Image و اهمیت نسخه و دسترسی به Imageها بررسی شده و در نهایت با چند نمونه عملی، روش عیبیابی Jobها و مدیریت Runner توضیح داده میشود. هدف مقاله ارائه یک دید عملی و پایه برای راهاندازی، استفاده و مدیریت GitLab Runner در پروژههای CI/CD است.
ادامه مطلب ←
طراحی پایپ لاین برای تست و دیپلوی سطح مبتدی با Gitlab CI/CD
در این مقاله سعی میکنیم یک سناریو ساده برای یک پروژه ساده پایتونی با فریمورک flask رو پیاده سازی کنیم. این سناریو سه مرحله تست, بیلد و استقرار یا دیپلوی پروژه و قرار دادن ان روی اینترنت رو خودکار سازی میکنه و همچنین در طراحی پایپ لاین ها خیلی مهم هست که نکات امنیتی و منطقی برای مدیریت سرور ها رعایت بشود چون در صورت وجود داشتن ایراد منطقی یا امنیتی ممکنه به مشکلات گسترده و مهمی بر بخوریم. ( مثل مدیریت نکردن نسخه های قدیمی که توسط پایپ لاین اجرا شدن که باعث درگیر شدن تمام منابع سرور و در نهایت غیر قابل دسترس شدن سرور و پایین اومدن سرویس میشه یا نشت اطلاعات حساس حین اجرای پایپ لاین که باعث بوجود اوردن دسترسی های سطح بالا بدون احراز هویت به دیگران میدهد)
ادامه مطلب ←
راهاندازی رجیستری خصوصی داکر با Nexus Repository Manager
وقتی یک تیم چند نفره روی چند پروژه کار میکنه، هر docker pull یعنی دانلود مجدد از اینترنت: هم کند، هم مصرف پهنای باند، هم گیر کردن روی محدودیتهای شبکه و rate limit داکرهاب. از طرف دیگه ایمیجهایی که خودمون میسازیم باید جایی نگهداری بشن که تحت کنترل ما باشه. در این مقاله سه ریپوی داکر در نکسوس میسازیم و به هم وصل میکنیم: - یک proxy که واسط و کش داکرهاب میشه - یک hosted که رجیستری خصوصی ایمیجهای خودمونه - یک group که هر دو رو زیر یک آدرس واحد جمع میکنه
ادامه مطلب ←
نحوه راه اندازی nexus repository manager
وقتی روی یک سرور چند تا پروژه داریم یا یک تیم چند نفره روی یک محصول کار میکنه، هر بار دانلود شدن پکیجها و ایمیجها از اینترنت هم وقت میگیره هم پهنای باند مصرف میکنه؛ بعضی وقتها هم به خاطر محدودیتهای شبکه یا تحریمها اصلاً به رجیستریهای اصلی مثل Docker Hub دسترسی نداریم. برای حل این مشکل، بهترین گزینه راهاندازی یک ریپازیتوری منیجر داخلیه؛ سیستمی که هم میتونه واسط بین ما و رجیستریهای عمومی باشه (پروکسی و کش) و هم ریپوی خصوصی خودمون برای ایمیجها و پکیجهایی باشه که خودمون ساختیم. در این مقاله قدم به قدم Nexus Repository Manager رو روی یک سرور اوبونتو راهاندازی میکنیم؛ از استخراج فایل نصب و ساخت کاربر اختصاصی و سرویس systemd گرفته تا اولین ورود به رابط وب، گرفتن پسورد ادمین و آشنایی با محیط نکوس رو باهم پیش میبریم
ادامه مطلب ←
نحوه فعال کردن https و مدیریت سرتیفیکیت دامنه با nginx
بیشتر آموزشهای فعالسازی HTTPS روی Nginx به شما میگویند دستور certbot --nginx -d example.com را اجرا کنید و تمام! این روش کار میکند اما اولین باری که چیزی خراب شود، گم میشوید؛ چون هیچوقت نفهمیدهاید آن دستور در واقع چه کاری انجام داده است. این مقاله مسیر متفاوتی را طی میکند. ابتدا میفهمیم پشت صحنه چه میگذرد، بعد با دستورهای خام Certbot (بدون افزونه Nginx) گواهی میگیریم و آن را خودمان به کانفیگ Nginx وصل میکنیم. فقط بعد از این مراحل، سراغ آن یک دستور جادویی میرویم که همه کارها را خودکار میکند و در آن لحظه دقیقاً میدانید چه کاری برایتان انجام میدهد.
ادامه مطلب ←
راه اندازی ریورس پروکسی در nginx
فرض کنید میخواهیم چندین سرویس مختلف را روی یک سرور واحد و از روی پورت عادی 80 سرو کنیم. مشکلی که به آن برمیخوریم این است که نمیشود چندین سرویس روی یک پورت یکسان پاسخگو باشند و قطعاً به ارور مشغول بودن آن پورت (port already in use) برمیخوریم. در این مقاله به آموزش نحوه استفاده از راه حل وب سرور nginx برای این مشکل به اسم reverse proxy میپردازیم و نگاهی کلی به اینکه چطور nginx رو کانفیگ کنیم و ساختارش چطوریه میندازیم
ادامه مطلب ←
طراحی سیستمهای Highly Available چیست؟ راهنمای کامل معماریهای در دسترسپذیر
طراحی سیستمهای Highly Available یعنی ساخت معماریهایی که در برابر خرابیهای روزمره، outage و failover مقاوم باشند. در این مقاله HA را عمیق بررسی میکنیم.
ادامه مطلب ←
SRE چیست؟ راهنمای کامل Site Reliability Engineering در سیستمهای مدرن
SRE یا Site Reliability Engineering رویکردی مهندسی برای ساخت و نگهداری سیستمهای قابلاعتماد، مقیاسپذیر و پایدار است. در این مقاله SRE را کامل بررسی میکنیم.
ادامه مطلب ←
GitLab چیست؟ ستون فقرات DevOps و CI/CD مدرن برای تیمهای ایرانی
GitLab یک پلتفرم کامل DevOps برای مدیریت repository، CI/CD، Container Registry و Platform Engineering است که با زیرساخت داخلی، سرعت و پایداری بیشتری برای تیمهای ایرانی فراهم میکند.
ادامه مطلب ←
آینده DevOps در عصر هوش مصنوعی ۲۰۲۶
آینده DevOps به سمت AI-Native Delivery، agentic workflows، observability هوشمند و عملیات نیمهخودمختار مبتنی بر AI و Platform Engineering حرکت میکند.
ادامه مطلب ←
Prometheus و Grafana چیست؟ راهنمای کامل Observability در Cloud-Native
Prometheus و Grafana ستونهای اصلی Observability هستند که متریکها را جمع میکنند، تحلیل میکنند و به داشبوردهای عملیاتی و هشدارهای قابلاقدام تبدیل میکنند.
ادامه مطلب ←
CI/CD در ۲۰۲۶؛ از صفر تا دیپلوی بدون قطعی
از پایه تا حرفهای یاد بگیرید چطور بدون قطعی روی سرور ابری دیپلوی کنید.
ادامه مطلب ←
ابزارهای DevOps در ۲۰۲۶؛ معرفی کامل و کاربردی
بهترین ابزارهای DevOps را بشناسید و بفهمید هرکدام دقیقاً کجا استفاده میشوند.
ادامه مطلب ←
DevOps چیست؟ راهنمای کامل از صفر تا حرفهای (۲۰۲۶)
از تعریف تا ابزارها و مسیر یادگیری DevOps را یکجا و حرفهای یاد بگیرید.
ادامه مطلب ←

