首页 > 解决方案 > 具有多个角色和 Gitlab 管道的 Ansible 剧本

问题描述

我正在尝试在 Gitlab 管道中使用 Ansible 运行多个角色,但由于某种原因,它仅运行列表中的第一个角色并成功完成管道。下面的示例 playbook.yml:

 - name: My play
  hosts: all
  remote_user: root
  become: yes
  roles:
    - location/approle1
    - location/approle2
    - location/approle3
    

在这种情况下,仅执行角色approle1,然后管道完成,没有错误或消息。如果approle1行被删除或注释并且 Gitlab 管道阶段再次运行,approle2被执行,但不是approle3。知道我做错了什么吗?

标签: ansiblegitlab-ci

解决方案


您必须在角色路径之前添加角色:。

- name: My play
  hosts: all
  remote_user: root
  become: yes
  roles:
    - role: location/approle1
    - role: location/approle2
    - role: location/approle3

推荐阅读