LoginSignup
3

More than 5 years have passed since last update.

Ansibleにlintを導入する

Last updated at Posted at 2019-01-05

Ansibleにlintを検証したときの備忘録です。

インストール

  • $ sudo pip install ansible-lint

  • ./ansible ディレクトリに lintのファイルを作成する

    • /home/ubuntu/yhidetoshi-infra/ansible

cat .ansible-lint

parseable: true
quiet: false
use_default_rules: true
skip_list:
  - ANSIBLE0010
  - ANSIBLE0012
  - ANSIBLE0016
verbosity: 1

skip_listに 対象外にするLintを定義する

  • playbookを指定してlintチェックする
    • $ ansible-lint {something-playbook.yml}
bastion.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

まとめ

  • Ansibleにlintを導入した
  • 実際にplaybookを指定して、lintを実行した
  • 必要に応じて、除外するlintを指定する

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3