کتاب مهاجرت از اسکریپتهای Shell به انسیبل با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
مهاجرت از کابوس Shell Script به رویای انسیبل: اتوماسیون زیرساخت را حرفهای بیاموزید! مهاجرت از کابوس Shell Script به رویای انسیبل: اتوماسیون زیرساخت را حرفهای بیاموزید! معرفی دوره آیا از دست اسکریپت...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره مهاجرت از اسکریپتهای Shell به انسیبل
موضوع کلی: برنامه نویسی
موضوع میانی: انسیبل (Ansible)
📋 سرفصلهای دوره
- 1. مقدمه: چرا باید از اسکریپتهای Shell مهاجرت کنیم؟
- 2. دردسرها و محدودیتهای اسکریپتهای Shell در مدیریت زیرساخت
- 3. معرفی مفهوم زیرساخت به عنوان کد (Infrastructure as Code)
- 4. انسیبل چیست و چه مشکلاتی را حل میکند؟
- 5. مقایسه رویکرد دستوری (Imperative) Shell با رویکرد اعلانی (Declarative) انسیبل
- 6. معماری انسیبل: گره کنترل (Control Node) و گرههای مدیریت شده (Managed Nodes)
- 7. پیشنیازهای نصب و راهاندازی انسیبل
- 8. نصب انسیبل بر روی لینوکس، مک و ویندوز (WSL)
- 9. آشنایی با فایل کانفیگ اصلی انسیبل (ansible.cfg)
- 10. معرفی فایل Inventory و اهمیت آن
- 11. ساخت اولین Inventory استاتیک با فرمت INI
- 12. ساخت اولین Inventory استاتیک با فرمت YAML
- 13. گروهبندی هاستها در Inventory
- 14. متغیرهای Inventory: تعریف متغیر برای هاستها و گروهها
- 15. اتصال به ماشینهای مدیریت شده: آشنایی با SSH و کلیدهای عمومی/خصوصی
- 16. اولین دستور Ad-Hoc: ماژول ping برای تست اتصال
- 17. آشنایی با ماژول command: اجرای دستورات ساده
- 18. آشنایی با ماژول shell: چه زمانی از آن استفاده کنیم؟
- 19. مفهوم ایستایایی (Idempotency) و چرا یک مزیت بزرگ است
- 20. مقدمهای بر Playbookها: قلب اتوماسیون در انسیبل
- 21. آشنایی با سینتکس YAML: پایهی نوشتن Playbook
- 22. ساختار یک Playbook ساده: hosts, tasks, name
- 23. اجرای اولین Playbook
- 24. استفاده از ماژول debug برای نمایش اطلاعات
- 25. افزایش سطح دسترسی با become (معادل sudo)
- 26. مدیریت پکیجها: ماژولهای apt, yum, dnf
- 27. نصب، آپدیت و حذف نرمافزارها با انسیبل
- 28. مدیریت سرویسها: ماژولهای service و systemd
- 29. راهاندازی، توقف و ریاستارت کردن سرویسها
- 30. مدیریت فایلها و دایرکتوریها: ماژول file
- 31. ایجاد فایل، دایرکتوری و سیمبولیک لینک
- 32. مدیریت سطح دسترسی و مالکیت فایلها با ماژول file
- 33. کپی کردن فایلها از گره کنترل به گره مدیریت شده: ماژول copy
- 34. مدیریت محتوای فایلها: ماژول lineinfile
- 35. مدیریت بلاکهای متنی در فایلها: ماژول blockinfile
- 36. مفهوم متغیرها (Variables) در انسیبل
- 37. تعریف متغیرها در بخش vars یک Playbook
- 38. ثبت خروجی یک تسک در یک متغیر با register
- 39. استفاده از متغیرهای ثبت شده در تسکهای بعدی
- 40. معرفی Ansible Facts: جمعآوری اطلاعات خودکار از سیستمها
- 41. استفاده از Facts برای تصمیمگیریهای داینامیک در Playbook
- 42. مفهوم Handlerها: اجرای تسکها در صورت بروز تغییر
- 43. استفاده از notify برای فراخوانی Handlerها
- 44. اجرای شرطی تسکها با دستور when
- 45. ترکیب شرطها با and و or
- 46. مفهوم حلقهها (Loops) در انسیبل
- 47. استفاده از loop برای تکرار یک تسک روی لیستی از آیتمها
- 48. کار با دیکشنریها و آیتمهای پیچیده در حلقهها
- 49. مهاجرت از حلقههای for در Shell به loop در انسیبل
- 50. مدیریت خطا در انسیبل: ignore_errors
- 51. کنترل وضعیت changed و failed با changed_when و failed_when
- 52. استفاده از block, rescue, always برای مدیریت خطاهای پیچیده
- 53. مفهوم Tags: اجرای بخشی از یک Playbook
- 54. مهاجرت از اسکریپتهای شرطی (if-else) به دستور when
- 55. بررسی یک اسکریپت نصب وب سرور (مانند Nginx)
- 56. تبدیل بخش نصب پکیج اسکریپت به تسک انسیبل
- 57. تبدیل بخش مدیریت فایل کانفیگ اسکریپت به تسک انسیبل
- 58. تبدیل بخش مدیریت سرویس اسکریپت به تسک انسیبل
- 59. مقدمهای بر Templateها با موتور Jinja2
- 60. چرا Templateها از ماژول copy قدرتمندتر هستند؟
- 61. ساخت اولین Template با استفاده از متغیرها
- 62. استفاده از ماژول template برای اعمال تنظیمات داینامیک
- 63. استفاده از Facts در Templateها
- 64. فیلترها (Filters) در Jinja2: دستکاری دادهها
- 65. حلقهها و شرطها در داخل Templateهای Jinja2
- 66. مقدمهای بر Roles: ساختاردهی و استفاده مجدد از کد
- 67. چرا Roles برای پروژههای بزرگ ضروری است؟
- 68. ساختار استاندارد یک Role: tasks, handlers, vars, defaults, meta
- 69. ایجاد اولین Role برای مدیریت یک وب سرور
- 70. استفاده از Role ساخته شده در یک Playbook
- 71. مفهوم متغیرهای پیشفرض در Roles (defaults/main.yml)
- 72. اولویت متغیرها در انسیبل (Variable Precedence)
- 73. آشنایی با Ansible Galaxy: مخزن جامعهمحور Roles
- 74. جستجو و نصب یک Role از Ansible Galaxy
- 75. استفاده از Roleهای دانلود شده در پروژه
- 76. مدیریت وابستگیهای بین Roleها (Role Dependencies)
- 77. مدیریت اطلاعات حساس با Ansible Vault
- 78. ایجاد و رمزنگاری یک فایل با Vault
- 79. ویرایش و مشاهده فایلهای رمزنگاری شده
- 80. استفاده از متغیرهای Vault در Playbook
- 81. روشهای مختلف ارائه پسورد Vault هنگام اجرا
- 82. مفهوم Inventory داینامیک
- 83. چرا به Inventory داینامیک نیاز داریم؟
- 84. مثالی از یک اسکریپت Inventory داینامیک ساده
- 85. استفاده از پلاگینهای Inventory برای محیطهای ابری (مانند AWS, Azure)
- 86. بهینهسازی اجرای Playbookها: Forks و اجرای موازی
- 87. استراتژیهای اجرا: linear, free, host_pinned
- 88. استفاده از Check Mode (--check) برای اجرای آزمایشی
- 89. استفاده از Diff Mode (--diff) برای دیدن تغییرات
- 90. ماژولهای انتظار: wait_for و wait_for_connection
- 91. عملیات آسنکرون و Polling در انسیبل
- 92. مفهوم Lookups: واکشی داده از منابع خارجی
- 93. استفاده از lookup('file') برای خواندن محتوای فایل
- 94. استفاده از lookup('env') برای خواندن متغیرهای محیطی
- 95. ساختاردهی پروژههای انسیبل: بهترین شیوهها
- 96. استفاده از group_vars و host_vars برای مدیریت متغیرها
- 97. تست و اعتبارسنجی کد انسیبل: Ansible Lint
- 98. آشنایی با ابزار Molecule برای تست کامل Roles
- 99. یکپارچهسازی انسیبل با سیستمهای CI/CD (مانند GitLab CI/CD)
- 100. گزارشگیری و Callback Plugins
تگها:
Ansible
Ansible tutorial
Automation
configuration management
DevOps
IaC
Infrastructure as Code
Linux
Migration
Programming
Shell Scripting
آموزش انسیبل
اتوماسیون
اسکریپت نویسی
انسیبل
برنامه نویسی
لینوکس
مدیریت پیکربندی
مهاجرت
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.