LoginSignup
9
8

More than 5 years have passed since last update.

Ansibleでよく使うコマンドをmakefileに落としておく

Last updated at Posted at 2017-12-05

この記事は、Ansible Advent Calendar 2017 の6日目の記事です。

Ansible を使っているプロジェクトで、毎回書いているような Makefile を公開。
サンプルレポジトリは、以下。
yyoshiki41/ansible-makefile

Makefile

$ make help
Make command examples for Ansible
    ls-hostname                    to show all host ips
    syntax-check                   to run with --syntax-check option
    lint                           to lint playbook files
    galaxy-install                 to install roles using ansible-galaxy
    vault-dec                      to decrypt secret.yml
    vault-enc                      to encrypt secret.yml
    vault-edit                     to edit secret.yml
    vault-view                     to view secret.yml

ls-hostname

とりあえずhostへのコマンドが通るか、手っ取り早く確認したい時の為。

$ ansible all -i hosts -m shell -a "hostname;"

syntax-check

ansible-playbook コマンドについている --syntax-check オプションでエラーがないか確認。
とりあえず、自分はCIに入れてます。

$ ansible-playbook playbook_dir/*.yml -i hosts --syntax-check

lint

ansible-lint はフォーマットにあまり重きを置いていないチームでは、不要かもです。

$ ansible-lint playbook_dir/*.yml

galaxy-install

Ansible Galaxy に登録されているロールをインストールするエイリアス。
requirements.yml の記述方法は、公式を。

$ ansible-galaxy install -r ./roles/requirements.yml --roles-path ./roles

vault-enc / vault-dec

ansible-vault での encrypt/decrypt 時のエイリアス。
vault-password は、ファイルパスをオプションで渡していますが環境に合わせて、ANSIBLE_VAULT_PASSWORD_FILEや対話式で行うものに変更してください。

$ ansible-vault decrypt hosts/group_vars/secret.yml --vault-password-file ./.secret/vault_password
$ ansible-vault decrypt hosts/group_vars/secret.yml --vault-password-file ./.secret/vault_password

他にも ansible-vault edit, ansible-view とかもお好みで。


この他にもこんなのmakeに設定しているというのがあれば、ぜひ!

9
8
0

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
9
8