دواپس و CI/CD
DevOps & CI/CDاین مسیر دربارهٔ ابزار نیست، دربارهٔ فاصلهٔ بین «کد نوشتم» و «کاربر دارد ازش استفاده میکند» است. هر فصل یک تکه از آن فاصله را خودکار میکند.
پیشرفت تو
درصد هر فصل از دو چیز میآید: چقدر از بخشهایش را خواندهای (۵۵٪) و چند تمرینش را تیک زدهای (۴۵٪). همهچیز داخل مرورگر خودت میماند.
فصل
فصلها به هم وابستهاند و ترتیبشان معنا دارد. هر مسیر با پروژههای نهایی تمام میشود: ساده، متوسط، پیچیده.
DevOps چیست و چه چیزی نیست
نه یک سِمَت، نه یک ابزار.
در نوبت نوشتنGit در عمل: branch، merge، rebase
استراتژی شاخهبندی و بیرون آمدن از دردسر.
در نوبت نوشتنCI: تست خودکار، lint، build
GitHub Actions از صفر.
در نوبت نوشتنCD و محیطها
staging، production و تأیید دستی.
در نوبت نوشتنساخت artifact و نسخهگذاری
semver و اینکه چه چیزی را باید نگه داشت.
در نوبت نوشتنIaC با Terraform
state، plan، apply و اینکه چرا state مقدس است.
در نوبت نوشتنAnsible
playbook، inventory و idempotency.
در نوبت نوشتنمانیتورینگ: Prometheus + Grafana
متریک، scrape، و داشبوردی که به درد بخورد.
در نوبت نوشتنلاگ متمرکز
جمعآوری، ساختاردهی و جستجو.
در نوبت نوشتنalert و on-call
هشداری که نصف شب بیدارت کند باید ارزشش را داشته باشد.
در نوبت نوشتنblue-green، canary، rollback
انتشار بدون قطعی و راه برگشت.
در نوبت نوشتنمدیریت secret
Vault، sealed secret و چیزهایی که نباید در Git باشند.
در نوبت نوشتنbackup و disaster recovery
پشتیبانی که تست نشده، پشتیبان نیست.
در نوبت نوشتنpostmortem
بدون مقصر، با درس.
در نوبت نوشتنپروژهٔ ۱ — اولین خط لولهٔ CI
تست و lint خودکار روی هر push.
در نوبت نوشتنپروژهٔ سادهپروژهٔ ۲ — استقرار خودکار به staging
بیلد ایمیج، انتشار و استقرار با تأیید دستی.
در نوبت نوشتنپروژهٔ متوسطپروژهٔ ۳ — از commit تا production با rollback خودکار
خط لولهٔ کامل با canary، مانیتورینگ و برگشت خودکار روی خطا.
در نوبت نوشتنپروژهٔ پیچیده