在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を指定する
 
    