在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を指定する
广告
将在 10 秒后关闭
bannerAds