我正在使用ansible和helm图表进行自动部署。当我尝试运行我的 ansible 剧本时,在此之前我试图找到我的 ansible 角色的 linting。我已经清除了 ansible lint 测试期间出现的大部分警告。
但我不明白“fqcn-builtins:使用 FQCN 进行内置操作”。谁能告诉我如何解决这个问题,我几乎在我的所有剧本中都可以看到。
fqcn-builtins: Use FQCN for builtin actions.
main.yml:43 Task/Handler: Remove local image
fqcn-builtins: Use FQCN for builtin actions.
main.yml:48 Task/Handler: output message
fqcn-builtins: Use FQCN for builtin actions.
main.yml:64 Task/Handler: Remove local image
fqcn-builtins: Use FQCN for builtin actions.
main.yml:69 Task/Handler: output message
fqcn-builtins: Use FQCN for builtin actions.
main.yml:85 Task/Handler: Remove local image
fqcn-builtins: Use FQCN for builtin actions.
main.yml:90 Task/Handler: output message
fqcn-builtins: Use FQCN for builtin actions.
Run Code Online (Sandbox Code Playgroud)
我的文件中的示例剧本
- name: Remove local image
shell: docker image rm {{ image.docker_image_main }}:{{ imageTag }}
register: imagedelete
changed_when: "'untagged' in imagedelete.stdout"
# noqa command-instead-of-shell
- name: output message
debug:
msg: "{{ imagedelete.stdout }}"
become: "yes"
Run Code Online (Sandbox Code Playgroud)
小智 11
FQCN 代表“完全限定的集合名称”。您需要在 ansilbe playbook 中指定完全限定的集合名称。
在您的示例中,您使用的是 FQCN 为 的“shell”模块ansible.builtin.shell。
在你的剧本中,你需要添加ansible.builtin.shell而不是shell
从ansible-lint 6开始,默认情况下此规则是隐式的。
您可以通过创建.ansible-lint文件(如果尚不存在)并添加以下内容来选择退出此行为
skip_list:
- 'fqcn-builtins'
Run Code Online (Sandbox Code Playgroud)
另一种选择是使用特定版本的 ansible-lint (5.x),直到您准备好升级,
| 归档时间: |
|
| 查看次数: |
20200 次 |
| 最近记录: |