- در زمان نگارش پروندهی PlayBook میتوان از مواردی استفاده نمود که اصطلاحا به آنها دستور العمل یا Directive گفته میشود.
- بخشی از فهرست این دستور العملها به شرح زیر است :
|
1 2 3 4 5 6 7 |
tasks handlers defaults vars files templates meta |
- دستور العمل tasks
- با استفاده از این دستور العمل میتوان به یک یا چند ماژول اشاره داشت.
- یک پروندهی PlayBook میتواند حاوی چندین دستور العمل tasks باشد.
- به عنوان مثال کد زیر باعث میشود تا :
- ابتدا ماژول ping در فرآیند اول سپس ماژول script در فرآیند دوم اجرا میشود.
|
1 2 3 4 5 6 7 8 9 10 11 12 |
--- - name: PlayBook hosts: centos-servers gather_facts: no <span style="color: #ff0000;">tasks</span>: - name: Run ping module ping: <span style="color: #ff0000;">tasks</span>: - name: Run a script using an executable in a non-system path script: /opt/script.sh args: executable: /usr/bin/bash |
- نکته: در بخشهای آینده به ماژول ping و script پرداخته خواهد شد.
- دستور العمل handlers
- استفاده از این دستور العمل همانند تعیین شروط برای اجرای فرایندی جدید میباشد.
- به عنوان مثال کد زیر باعث میشود تا :
- ابتدا بستهی httpd بر روی گروهی خاص از خادمهای تحت مدیریت نصب و راه اندازی شود.
- سپس در صورتی که فرآیند نصب با موفقیت طی شد ، سرویس httpd راه اندازی شود.
|
1 2 3 4 5 6 7 8 9 10 11 |
--- - name: PlayBook hosts: centos-servers tasks: - name: install apache web server yum: name=httpd state=latest <span style="color: #ff0000;">notify</span>: - <strong>start apache service</strong> <span style="color: #ff0000;">handlers</span>: - name: <strong>start apache service</strong> service: name=httpd state=started |
- نکته: در بخشهای آینده به ماژول yum و همچنین استفاده از notify و handlers پرداخته خواهد شد.
- دستور العمل defaults
- استفاده از این دستور العمل همانند تعیین شروط برای اجرای فرایندی جدید می باشد.
- دستور العمل vars
- با استفاده از این دستور العمل میتوان به معرفی و ساخت انواع متغیر پرداخت.
- به عنوان مثال کد زیر باعث میشود تا :
- ابتدا متغیری با نام my_command تعریف و مقدار whoami برای آن در نظر گرفته شود.
- سپس محتویات این متغیر توسط ماژول command بر روی تمام خادمهای تحت مدیریت اجرا شود.
|
1 2 3 4 5 6 7 8 |
--- - name: PlayBook hosts: all vars: my_command: whoami tasks: - name: run whoami command in all servers command: '{{my_command}}' |
- نکته: در بخشهای آینده به ماژول command و همچنین استفاده از متغیرها پرداخته خواهد شد.
- دستور العمل files
- با استفاده از این دستور العمل می توان به یک یا گروهی از پرونده ها جهت انجام کارهای مختلف اشاره نمود.
- دستور العمل templates
- با استفاده از این دستور العمل می توان
- دستور العمل meta
- استفاده از این دستور العمل همانند تعیین شروط برای اجرای فرایندی جدید می باشد.
- به منظور مطالعهی بیشتر لینکهای زیر پیشنهاد میشود :
|
1 |
https://docs.ansible.com/ansible/latest/modules/ping_module.html |
- آزمایش شده بر روی Ansible نسخهی 2.5.1
- آزمایش شده بر روی سیستم عامل Ubuntu 18.04