Разработчик только что закончил вносить изменения в код на сервере разработки, который получил git clone
из репозитория Azure git с помощью Ansible.
Какой конкретный синтаксис необходимо использовать в задачах Ansible для
add
,commit
иpush
измененного кода разработчика с сервера разработки обратно в тот же репозиторий Azure git?
Ниже приведена задача git clone
Ansible, предоставленная @гарилопез:
---
- name: Clone repo playbook
hosts: dev
vars_prompt:
- name: "git_password"
prompt: "Password for 'https://[email protected]'"
private: yes
tasks:
- name: Clone a repo
git:
repo: https://{{ git_user | urlencode }}:{{ git_password | urlencode }}@dev.azure.com/OrganizationName/ProjectName/_git/RepositoryName
dest: /src/RepositoryName
Мы изучили документы модуля Ansible git
, но не вижу стандартного примера.
Мы предполагаем, что кто-то может прибегнуть к какому-то решению команд оболочки в задачах Ansible, если модуль Ansible git
не поддерживает это. Но мы спрашиваем здесь, надеясь, что в ответе может быть предложен подход наилучшей практики.
git
позволит вам получить свежий клон удаленного репозитория только для целей развертывания. Было несколько соблазнов предоставить функции добавления/фиксации/передачи в ansible либо путем добавления к существующему модулю, либо путем предоставления нового (один пример: github.com/ansible-collections/community.general/pull/168). Но, насколько мне известно, никто не дожил до релиза. На данный момент вам придется идти по маршруту команда/оболочка. - person Zeitounator   schedule 05.11.2020