قالبها با Jinja2
بخشی از دوره Ansible
کپی کردن یک فایل ثابت روی همهی ماشینها تا لحظهای درست کار میکند که یکی از ماشینها به پورت دیگری، نام میزبان دیگری، یا بلوکی از پیکربندی نیاز پیدا کند که فقط به بعضی سرورها مربوط است و به بقیه نه. از آن لحظه دو راه بد پیش رویتان است: برای هر ماشین یک نسخهی کمی متفاوت از فایل نگه دارید و امیدوار باشید یادتان بماند همه را با هم بهروز کنید، یا بعد از تمام شدن کار Ansible فایل را روی هر سرور با دست بنویسید.
با ایدهی نامهی فرمی که جاهای خالی دارد و برای هر گیرنده پر میشود از قبل آشنا هستید. Jinja2، همان زبان قالبی که Ansible به کار میبرد، همین ایده است که یک قدم جلوتر رفته. یک نامهی فرمی ساده فقط جاهای خالی را پر میکند: یک نام اینجا، یک نشانی آنجا. اما قالبهای Jinja2 میتوانند خط به خط تصمیم بگیرند که آیا یک پاراگراف اصلا بیاید یا نه، و میتوانند یک خط را برای هر عضو یک فهرست تکرار کنند بدون آنکه شما آن خط را...
میخواهی Ansible قالبها با Jinja2 را در یک محیط واقعی یاد بگیری؟
روی دکمه زیر بزن تا یک ماشین لینوکس با Ansible آماده دریافت کنی و قالبها با Jinja2 را بهصورت عملی با یک مربی هوشمند که کدت را میشناسد تمرین کنی.
شروع این درسقالبها با Jinja2چه چیزهایی یاد میگیری
- Template module
- Jinja2 expressions
- Filters
- If blocks in templates
- For loops in templates
این درس را به زبان خودت بخوان
همهٔ درسهای این دوره
12 درس- 1Ansible چیست20 دقیقه
- 2فایل اینونتوری (inventory) و دستورات Ad Hoc25 دقیقه
- 3اولین Playbook شما30 دقیقه
- 4تسکها (Tasks)، ماژولها (Modules) و هندلرها (Handlers)30 دقیقه
- 5متغیرها و فکتها (Facts)30 دقیقه
- 6قالبها با Jinja230 دقیقه
- 7حلقهها و شرطها30 دقیقه
- 8نقشها (Roles) و Galaxy35 دقیقه
- 9والت (Vault) و سکرتها25 دقیقه
- 10برچسبها و اشکالزدایی25 دقیقه
- 11کالکشنها (Collections) و پلاگینها (Plugins)25 دقیقه
- 12کپستون: استقرار چند هاستی60 دقیقه
