Ansible経由のGit反映で再帰的にチェックさせない

Ansible 経由で Git でのアップデートをする場合、サブモジュールがあると問題を起こす事があるのでそちらも対応できるようにする。結論からいっちゃえば「recursive」オプションを追加する。

失敗した場合のエラーメッセージ

fatal: [server01]: FAILED! => {"changed": false, "failed": true, "msg": "Failed to init/update submodules: Usage: git submodule [--quiet] add [-b branch] [--reference <repository>] [--] <repository> [<path>]\n   or: git submodule [--quiet] status [--cached] [--recursive] [--] [<path>...]\n   or: git submodule [--quiet] init [--] [<path>...]\n   or: git submodule [--quiet] update [--init] [-N|--no-fetch] [--rebase] [--reference <repository>] [--merge] [--recursive] [--] [<path>...]\n   or: git submodule [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]\n   or: git submodule [--quiet] foreach [--recursive] <command>\n   or: git submodule [--quiet] sync [--] [<path>...]\n"}

recursive 設定

色々調べてたら Ansible のドキュメントにさっくり書いてあった。

| parameter | required | default | choices | comments | | :-------------------------- | :------- | :------ | :---------- | :--------------------------------------------------------------------------------------- | | recursive (added in 1.6) | no | yes | (yes|no) | if no, repository will be cloned without the --recursive option, skipping sub-modules. |

- name: Clone Repo
  become: yes
  become_user: user
  git: repo=repo_url
    dest=document_root
    update=yes
    recursive=no
    accept_hostkey=yes
  tags: GitClone

「recursive=no」を入れて解決。良かった良かった。

参考