Ansible debops.slapd 和 Ansible gitlab_user

Ansible debops.slapd and ansible gitlab_user

这会很长,很抱歉,但似乎没有人能提供帮助...请记住,这不是我的作业!!这是一个我得到报酬的项目,但我找不到任何关于这个的信息,我很害怕我什至不能做这个......

我参与了一个项目,我们必须使用 gitlab、alfresco 等设置虚拟环境,使用 Ansible 创建用户、自动化提交等。我们需要它来进行高级笔测试和安全目的,这是一个现实的游乐场。

我正在设置 Gitlab,它运行良好,但现在我在创建用户时遇到了问题,我无法让 gitlab_user ansible 模块工作,没有一个如何使用的示例它和给定的示例剧本也不起作用......有人可以帮我弄清楚语法吗?我必须 运行 一本包含这个的剧本吗? :

- name: Create Gitlab User
  gitlab_user:
    server_url: https://gitlab.dj-wasabi.local
    validate_certs: True
    login_user: dj-wasabi
    login_password: MySecretPassword
    name: My Name
    username: myusername
    password: mysecretpassword
    email: me@example.com
    sshkey_name: MySSH
    sshkey_file: ssh-rsa AAAAB3NzaC1yc...
    state: present
  delegate_to: localhost 

或者如果我必须将它用作终端命令,我该怎么做?我加入了一个 google 小组来询问这个问题,但好几天都没有人回答。

我想如果我不能让它工作,我会使用 LDAP 进行用户管理,但我可以这样做吗?或者 LDAP 仅用于身份验证,我必须以任何一种方式让用户使用 gitlab?这是我对 GitLab 本身不太了解的地方......

None 我尝试使用 ansible 角色 debops.slapd 设置 Slapd 的次数越少。我在这里发现 this 问题,但是当我复制代码和 运行 剧本时,它只是给了我这个:

    PLAY [Manage OpenLDAP service] *************************************************

TASK [Gathering Facts] *********************************************************
ok: [ansitest1@192.168.1.71]

TASK [debops.slapd : Make sure that Ansible local facts directory exists] ******
ok: [ansitest1@192.168.1.71]

TASK [debops.slapd : Save APT local facts] *************************************
ok: [ansitest1@192.168.1.71]

TASK [debops.slapd : Update Ansible facts if they were modified] ***************
skipping: [ansitest1@192.168.1.71]

TASK [debops.slapd : Install required packages] ********************************
[DEPRECATION WARNING]: Invoking "apt" only once while using a loop via 
squash_actions is deprecated. Instead of using a loop to supply multiple items 
and specifying `name: {{ item }}`, please use `name: [u'{{ apt__base_packages 
}}', u'{{ apt__packages }}']` and remove the loop. This feature will be removed
 in version 2.11. Deprecation warnings can be disabled by setting 
deprecation_warnings=False in ansible.cfg.
ok: [ansitest1@192.168.1.71] => (item=[u'apt-transport-https', u'ca-certificates'])

TASK [debops.slapd : Ensure that APT default configuration is absent] **********
ok: [ansitest1@192.168.1.71]

TASK [debops.slapd : Generate APT configuration files] *************************
ok: [ansitest1@192.168.1.71] => (item=etc/apt/apt.conf.d/25no-recommends.conf)

TASK [debops.slapd : Check current APT diversions] *****************************
ok: [ansitest1@192.168.1.71]

TASK [debops.slapd : Divert original /etc/apt/sources.list] ********************
skipping: [ansitest1@192.168.1.71]

TASK [debops.slapd : Configure APT distribution sources] ***********************
ok: [ansitest1@192.168.1.71]

TASK [debops.slapd : Remove diversion of original /etc/apt/sources.list] *******
skipping: [ansitest1@192.168.1.71]

TASK [debops.slapd : Configure custom APT keys] ********************************

TASK [debops.slapd : Configure custom APT repositories] ************************

TASK [debops.slapd : Generate additionnal APT configuration files] *************

TASK [debops.slapd : Delete APT configuration files on remote hosts] ***********

TASK [debops.slapd : Remove old unattended-upgrades configuration] *************
ok: [ansitest1@192.168.1.71] => (item=25auto-upgrades.conf)
ok: [ansitest1@192.168.1.71] => (item=55unattended-upgrades.conf)

TASK [debops.slapd : Update APT cache] *****************************************
ok: [ansitest1@192.168.1.71]

TASK [debops.slapd : Update the role status in local facts] ********************
skipping: [ansitest1@192.168.1.71]

TASK [debops.slapd : Update Ansible facts if they were modified] ***************
skipping: [ansitest1@192.168.1.71]

PLAY RECAP *********************************************************************
ansitest1@192.168.1.71     : ok=10   changed=0    unreachable=0    failed=0   

如您所见,它确实没有设置任何东西,我什至复制了示例剧本建议的答案之一,但它也没有用。

我尝试在其上设置 slapd 的 VM 是一个简单的 Xubuntu 安装,我使用的是 Mint,我不确定它是否重要......

现在问题来了,我知道 debos 角色和 gitlab_user 模块都没有在这一点上被触及多年,你认为我可以改变它吗,或者我必须自己编写剧本来设置 slapd 并将用户添加到 gitlab 吗?

如果是这样的话,我能做到吗?我抬头 digital ocean 似乎我可以设置 Slapd,甚至可以使用基于 this page 的 Ldif 文件添加用户等。我不确定的是将用户添加到 Gitlab ...

再次非常抱歉,这个问题又长又复杂,但我对此一无所获,google 小组保持沉默。我应该把它变成多个简短的问题吗?

感谢您的宝贵时间和帮助! (我的第一语言不是英语,对错误感到抱歉)

您使用 gitlab_user 模块显示的示例是一项任务。这需要一个剧本下的任务。下面是一个示例剧本,其中包含一个剧本。您可以使用 ansible-playbook 以通常的方式调用它。

白色 space 很重要,如果缩进错误,它也可能导致 "error: "gitlab_user 不是 Play 的有效属性”,因为 Ansible 将其读取为玩关卡不是任务关卡

---
- hosts: <hosts_to_run_play_on>
  vars:
    var1: <foo>
    var2: <bar>
  remote_user: <user>
  become: yes
  tasks:
    - name: Create Gitlab User
      gitlab_user:
      server_url: https://gitlab.dj-wasabi.local
      validate_certs: True
      login_user: dj-wasabi
      login_password: MySecretPassword
      name: My Name
      username: myusername
      password: mysecretpassword
      email: me@example.com
      sshkey_name: MySSH
      sshkey_file: ssh-rsa AAAAB3NzaC1yc...
      state: present

anible-playbook intro

还要确保满足模块文档中概述的要求。

  • pyapi-gitlab python 模块
  • Gitlab 服务器的管理员权限

gitlab_document