Próbuję utworzyć podręczny skrypt Ansible, który byłby uruchamiany z komputerów naszego zespołu programistów oraz z serwerów CI/CD.Odpowiedzialny za zadanie - klon prywatnego git bez przekazywania SSH
Jednym z zadań w książce jest pobranie kodu źródłowego naszego projektu z prywatnego repozytorium git. Ponieważ poradnik musi być uruchamiany z serwerów CI/CD, nie możemy korzystać z przekazywania SSH.
Co wymyśliłem, to skopiować niezbędny klucz prywatny SSH na zdalny komputer hosta, a następnie za pomocą klucza sklonować kod z prywatnego repozytorium git.
Jednak przy próbie wykonania zadania klonowania zawiesza się. Podczas próby uruchomienia polecenia ręcznie prosi o podanie hasła klucza prywatnego SSH. Klucz SSH nie używa hasła (puste).
Czy ktoś mógłby udostępnić swoje rozwiązanie tego (prawdopodobnie bardzo powszechnego) problemu?
W przypadku ktoś potrzebuje, to mój obecny PlayBook:
- name: Create SSH directory
file: path=/root/.ssh state=directory
- name: Copy SHH key for Git access
copy:
content: "{{ git_ssh_key }}"
dest: /root/.ssh/id_rsa
owner: root
group: root
mode: 0600
# Also tried this, but it also hangs
#- name: Start SSH agent and add SSH key
# shell: eval `ssh-agent -s` && ssh-add
- name: Get new source from GIT
git:
key_file: /root/.ssh/id_rsa
repo: "[email protected]:user/repo.git"
dest: "{{ staging_dir }}"
depth: 1
accept_hostkey: yes
clone: yes
Używam ansible 2.3.1.0, python version = 2.7.12
"* Podczas próby ręcznego uruchomienia polecenia prosi o podanie hasła do klucza prywatnego SSH. *" - jak to jest problem z programowaniem? – techraf
Potrzebuję sposobu, aby napisać zadanie, aby wprowadzić hasło (problem programowania) lub inne podejście, w którym nie musiałbym go wcale wprowadzać (problem operacyjny). –
Użyj klucza bez hasła. – techraf