Как вытащить поддеревья используя ansible - PullRequest
0 голосов
/ 10 марта 2019

Я пишу сборник материалов для автоматизации git.

У меня есть такая структура папок:

deploy
├── prj-1
├── prj-2
├── main-project

и внутри основного проекта у меня есть prj-1 иprj-2 как поддерево git, которое я использую для развертывания на серверах.Итак, это выглядит так:

main-project
├── src
   ├── prj-1
   ├── prj-2

Я хочу написать сборник пьес, использующий git pull для обновления всех поддеревьев внутри основного проекта.Вот упрощенная версия того, что я написал так далеко:

 - name: update subtree
   git:
    repo: "git@bitbucket.org:X/prj-1.git"
    dest: "/home/ubuntu/main-project/src/prj-1"
    update: yes
    version: dev

Этот пример сценариев с небольшим количеством настроек работает нормально для проектов внутри развертывания, но когда я использую его для обновления поддеревьев, он выдает эту ошибку:

"fatal: destination path XXX already exists and is not an empty directory

Насколько мне известно, ansible git-модуль должен сначала клонировать проект, а если проект уже существует, обновить его (что мне и нужно).

Так что желучший способ обновить поддеревья?

Ps: я не хочу менять структуру проекта.У нас есть разные репозитории, но для развертывания мы используем main-project, в котором находятся все остальные проекты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...