клон Git Repository - PullRequest
       7

клон Git Repository

0 голосов
/ 15 января 2019

Я написал ANSIBLE Playbook, который создает новый репозиторий BitBucket. Теперь я хочу настроить хранилище в соответствии с инструкциями, указанными в источнике хранилища в BitBucket:

У вас есть пустой репозиторий. Для начала вам нужно запустить эти Команды в вашем терминале. Новичок в Git? Изучите основные команды Git Работа с вашим репозиторием Мой код готов к отправке Если вы уже есть код, готовый для отправки в этот репозиторий, затем запустите этот в вашем терминале.

cd existing-project
git init
git add --all
git commit -m "Initial Commit"
git remote add origin http://xxxxxxx/scm/project/my-repo.git
git push -u origin master
My code is already tracked by Git
If your code is already tracked by Git then set this repository as your "origin" to push to.**

All done with the commands?
Refresh

Могу ли я сделать это с помощью модуля Git? Или как я могу запустить эти команды в ansible? Мне удалось клонировать репо только с помощью модуля Git.

Спасибо

Ответы [ 2 ]

0 голосов
/ 15 января 2019

Как уже упоминалось в ответе @Dan Farrell Ansible Git , похоже, не позволяет толкать.

В качестве начального подхода вы можете попробовать что-то вроде:

- name: Git push.
  tasks:
    - name: Set git origin
      shell: "git remote set-url origin https://gitUserName:gitPassword@yourHost.com/storage/repo.git"

    - name: Push to origin.
      shell: "git push origin yourBranch" 
0 голосов
/ 15 января 2019

https://docs.ansible.com/ansible/latest/modules/git_module.html, кажется, поддерживает вытягивание, но я не вижу способа нажать с этим модулем.

Если я правильно помню, модуль git для ansible просто оборачивает исполняемый файл git, поэтому должно быть относительно легко написать свои собственные задачи shell или command для выполнения желаемых команд git.

Возможно, вы захотите использовать модуль copy с настройкой content для создания нового файла (git не разрешает «пустые» коммиты, поскольку он только отслеживает изменения и, следовательно, не может фиксировать без изменений), и затем выполните шаги git add и git commit при условии изменения файла.

По моему опыту, создание репозиториев git и управление их содержимым с помощью Ansible не является обычной практикой. Я удивляюсь его полезности (вы, возможно, захотите проверить собственное приложение в репозитории, чтобы отследить изменения в приложении, так что в конечном итоге вы все равно будете выполнять действия git вручную). Но, безусловно, возможно.

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