¿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"