【问题标题】:Handling of global roles directory with ansible-lint使用 ansible-lint 处理全局角色目录
【发布时间】:2021-04-15 23:29:02
【问题描述】:

我已将我的自定义 ansible 角色和从 ansible-galaxy 下载的角色拆分到单独的目录中(./roles~/.ansible/roles)。

.ansible.cfg我添加了如下配置:

[...]
roles_path = ~/.ansible/roles:./roles
[...]

Ansible-lint 读取我的ansible.cfg 并按预期扫描两个目录。 由于我只想对自己的 ansible 角色进行 lint,因此我在 .ansible-lint 配置中添加了以下行:

[...]
exclude_paths:
    - ~/.ansible/roles
[...]

不幸的是,这不起作用,ansible-lint 仍然扫描两个目录。 如果我明确扩展用户名(例如- /root/.ansible/roles),ansible-lint 会正确忽略目录。

是否有可能在不使用绝对路径的情况下忽略我的共享角色目录(因为我的本地计算机和 ci 服务器之间的用户帐户不同)?

【问题讨论】:

  • 试试环境变量$HOME/.ansible/roles。我也会改变roles_path = $HOME/.ansible/roles:$PWD/roles
  • 我已经尝试过使用环境变量,但它们也被忽略了。

标签: ansible ansible-lint


【解决方案1】:

如果您定义了 ANSIBLE_ROLES_PATH,Ansible-lint 将尊重它。

较新版本的 linter 不会报告当前存储库未跟踪的文件的问题。几乎可以肯定,您无需向exclude_paths 添加内容即可解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    • 2019-08-26
    • 1970-01-01
    • 1970-01-01
    • 2014-05-04
    • 2019-10-12
    • 2021-09-14
    相关资源
    最近更新 更多