- [MUST] バージョン2以上でエラーが出ないように記述して下さい。
- [MUST] ソフトタブを使用し、2スペースとして下さい。
- [MUST] 変数名の前後に空白を入れてください。
#good
{{ var }}
#bad
{{var}}
- [MUST] ファイルの先頭の
---
の次に空行をいれないで下さい
#good
---
- name: Set php_executable variable to a default if not defined.
set_fact:
php_executable: php
when: php_executable is not defined
#bad
---
- name: Set php_executable variable to a default if not defined.
set_fact:
php_executable: php
when: php_executable is not defined
- [SHOULD] 必要がなければクウォートしないで下さい
#good
- name: Set php_executable variable to a default if not defined.
#bad
- name: 'Set php_executable variable to a default if not defined.'
- [MUST] yaml記法の部分は
True
,False
を使用して下さい。 - [MUST] moduleの引数は
true
,false
を使用して下さい。
- [MUST] jinjaの形式の変数を使ってください。
#good
{{ var }}
#bad
$var
- [MUST] 変数名は、先頭にロール名を付けてください。
- [MUST] 変数名は全て小文字としてください。
- [MUST]
.yaml
ではなく.yml
にして下さい。
- [SHOULD] ロールのリストをincludeする以上のことはしないでください。
-
[SHOULD] galaxy形式に則って下さい。
-
[SHOULD] ロールは他のロールからタスクをincludeしないでください。
-
[SHOULD] ロール名は簡潔で、可能な限り一単語にしてください。必要であれば
_
を使ってください。 -
[SHOULD] タスク名は簡潔で、説明的にしてください。空白はOKです。
-
[SHOULD] 依存するロールがある場合は
meta/main.yml
に書いて下さい。 -
[SHOULD] ロール独自の変数は
vars/main.yml
ではなくdefaults/main.yml
に書いて下さい。vars
は上書きしにくいため。逆に上書きされたくない場合はvars
配下に書いて下さい。 -
[SHOULD] [WIP]
meta/main.yml
に記載するgalaxy_tags
(categories
)は下記から追加して下さい。- centos
- ubuntu
- vagrant
- development
- production
- etc...
- [SHOULD]
command
ではなくshell
モジュールを使用して下さい。 - [SHOULD]
command
、shell
を使用した時は、-C
を指定しても問題が起きないようにしてください。 - [SHOULD]
ignore_errors: True
は使わないでください。 - [SHOULD]
wget
ではなくget_url
を使って下さい。
- [MUST]
name
は必ず書いて下さい。 - [SHOULD] block構文の使用を検討して下さい。(version 2 or later)
#good
- name: Check if Composer is installed.
stat: "path={{ composer_path }}"
register: composer_bin
- block:
- name: Download Composer installer.
get_url:
url: https://getcomposer.org/installer
dest: /tmp/composer-installer.php
mode: 0755
- name: Run Composer installer.
command: >
{{ php_executable }} composer-installer.php {% if composer_version != '' %} --version={{ composer_version }}{% endif %}
chdir=/tmp
when: not composer_bin.stat.exists
#bad
- name: Check if Composer is installed.
stat: "path={{ composer_path }}"
register: composer_bin
- name: Download Composer installer.
get_url:
url: https://getcomposer.org/installer
dest: /tmp/composer-installer.php
mode: 0755
when: not composer_bin.stat.exists
- name: Run Composer installer.
command: >
{{ php_executable }} composer-installer.php {% if composer_version != '' %} --version={{ composer_version }}{% endif %}
chdir=/tmp
when: not composer_bin.stat.exists
- [SHOULD] 変数が設定されているかどうかを調べる場合はdefinedを使用して下さい。
#good
when:{{ my_var }} is defined
#bad
when:{{ my_var }}
- [SHOULD] 1つのタスクで複数のOSの対応をしない(
ansible_os_family
を使わない)で下さい。OSが違う場合はplaybook(role)を別に定義して下さい。