Как передать имя пользователя и пароль при использовании модуля Ansible Git?
при выполнении клонирования, push или pull частного репозитория git, размещенного внутри (например, на экземпляре GitLab) с модулем Git Ansible, как указать имя пользователя и пароль для аутентификации на сервере Git?
Я не вижу способа сделать это в документация.
2 ответов
вы можете использовать что-то вроде этого:
---
- 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
Примечание: если ваш пароль содержит специальные символы @,#,$ и т. д. использовать urlencode
с паролем, а также: {{ githubpassword | urlencode }}
затем выполните следующий сценарий:
ansible-playbook -i hosts github.yml -e "githubuser=arbabname" -e "githubpassword=xxxxxxx"
улучшение Арбаб Назарответ, вы можете избежать выставления пароля в терминале, запрашивая учетные данные.
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
[...]
и в задаче ссылаются на переменные.
задач.в формате YML
- name: Get updated files from git repository
git:
repo=https://{{ githubuser | urlencode }}:{{ githubpassword | urlencode }}@github.com/privrepo.git
dest=/tmp
взято из: клонировать частный репозиторий git с помощью Ansible (используя подсказку пароля)