ansible ansible-playbook ansible-2.x

¿Cómo paso el nombre de usuario y la contraseña mientras uso el módulo Ansible Git?



ansible-playbook ansible-2.x (2)

Al realizar la clonación, inserción o extracción de un repositorio privado de git alojado internamente (por ejemplo, en una instancia de GitLab) con el módulo Git de Ansible, ¿cómo puedo especificar el nombre de usuario y la contraseña para autenticar con el servidor Git?

No veo ninguna forma de hacer esto en la documentation .


Al mejorar la respuesta de , puede evitar exponer su contraseña en el terminal solicitando las credenciales.

playbook.yml

--- - name: ANSIBLE - Shop Installation hosts: ''{{ target }}'' vars_prompt: - name: "githubuser" prompt: "Enter your github username" private: no - name: "githubpassword" prompt: "Enter your github password" private: yes [...]

Y en la tarea hacen referencia a las variables.

task.yml

- name: Get updated files from git repository git: repo=https://{{ githubuser | urlencode }}:{{ githubpassword | urlencode }}@github.com/privrepo.git dest=/tmp

Tomado de: Clone un repositorio de git privado con Ansible (usando la solicitud de contraseña)


Puedes usar algo como esto:

--- - hosts: all gather_facts: no become: yes tasks: - name: install git package apt: name: git - name: Get updated files from git repository git: repo: "https://{{ githubuser | urlencode }}:{{ githubpassword }}@github.com/privrepo.git" dest: /tmp

Nota: Si su contraseña también contiene caracteres especiales @, #, $ etc, use también urlencode con la contraseña: {{ githubpassword | urlencode }} {{ githubpassword | urlencode }}

Luego ejecuta el siguiente libro de jugadas:

ansible-playbook -i hosts github.yml -e "githubuser=arbabname" -e "githubpassword=xxxxxxx"