在Ansible中引入lint
这是我在验证Ansible的lint时的备忘录。
安装
-
- $ sudo pip install ansible-lint
./ansible ディレクトリに lintのファイルを作成する
/home/ubuntu/yhidetoshi-infra/ansible
猫 .ansible-lint
parseable: true
quiet: false
use_default_rules: true
skip_list:
- ANSIBLE0010
- ANSIBLE0012
- ANSIBLE0016
verbosity: 1
→ 定义一个跳表中的过滤Lint,将其设为非目标。
-
- playbookを指定してlintチェックする
$ ansible-lint {something-playbook.yml}
- hosts: role_bastion
user: ubuntu
become_method: sudo
gather_facts: yes
roles:
- ruby
- bastion
- ssm
- nginx
- codedeploy
# - verifi
试试运行 lint
$ ansible-lint bastion.yml
playbookで指定しているロールのtasksの記述が チェックされる
Examining bastion.yml of type playbook
Examining /home/ubuntu/yhidetoshi-infra/ansible/roles/ruby/tasks/main.yml of type tasks
Examining /home/ubuntu/yhidetoshi-infra/ansible/roles/bastion/tasks/main.yml of type tasks
Examining /home/ubuntu/yhidetoshi-infra/ansible/roles/ssm/tasks/main.yml of type tasks
Examining /home/ubuntu/yhidetoshi-infra/ansible/roles/nginx/tasks/main.yml of type tasks
Examining /home/ubuntu/yhidetoshi-infra/ansible/roles/nginx/handlers/main.yml of type handlers
Examining /home/ubuntu/yhidetoshi-infra/ansible/roles/codedeploy/tasks/main.yml of type tasks
Examining /home/ubuntu/yhidetoshi-infra/ansible/roles/codedeploy/handlers/main.yml of type handlers
/home/ubuntu/yhidetoshi-infra/ansible/roles/bastion/tasks/main.yml:21: [E201] Trailing whitespace
lintのルールに違反しているものを修正する
tasks/main.yml:21: [E201] Trailing whitespace
lintのルールは以下を参考にする
https://github.com/ansible/ansible-lint/blob/ce5b8a3f00cc76a62e34717f4dd31585b4e2734d/docs/docsite/rst/rules/default_rules.rst
总结
-
- Ansibleにlintを導入した
-
- 実際にplaybookを指定して、lintを実行した
- 必要に応じて、除外するlintを指定する