Vagrantで起動したCentOSに、Ansibleで最新のGitをインストールする際に(しょーもないことで)ハマったのでメモ。
自社の方々に助けていただき、窮地を脱しました。ありがたいことです。
■ハマったこと
Ansibleの「unarchive」は、ローカルマシンのファイルを解凍し、ホストマシンへコピーするものです。
自分はてっきり、ホストマシン上にあるファイルを解凍してくれるものだと思っていました…。
■ドキュメント、もとい英語の確認を怠るな
公式のドキュメントに、英語でバッチリ記載されていました…。
ドキュメントは見ていたのですが、オプションの部分しか見ていませんでした。
英語はきちんと読め、自分…。
unarchive - Unpacks an archive after (optionally) copying it from the local machine.
■解決方法
というわけで、「unarchive」は使用できなかったので、tarコマンドを実行して解凍するようにしました。
以下のようなYAMLで解凍ができます。
playbook.yml
# ファイルを解凍する
- name: unarchive source
command: tar zxvf /tmp/source.tar.gz chdir=/tmp