В нашей компании у нас есть действительно мощные серверы построения на основе Linux (двойной Xeon с 40 ядрами) и не очень мощные ноутбуки win7. Мы строим наш продукт на языке C/C++ для эзотерического процессора. Компилятор существует только в Linux. Я могу редактировать мой git repo с помощью Qt Creator. Он работает и довольно быстро и все. Но я не могу создать источник на нашем ноутбуке. У нас есть основное git-репо, и я могу клонировать одно и то же репо на свой ноутбук и наш сервер сборки. Я хочу достичь этого, когда я нажимаю кнопку сборки, мой код волшебным образом строится на сервере сборки. Я сделал доказательство концептуального решения, где мой скрипт сборки делает git diff на моем репо и scp его на сервер сборки, чем на ssh, чтобы создать сервер, применяя этот diff на серверной репо, чем запуск и ожидание компиляции. Но это решение не настолько безупречное доказательство. Я думаю, что существует более подходящий метод/метод. Итак, как я могу создать свой git-репо на внешнем сервере?Как я могу создать локальный репозиторий git на внешнем сервере?
ответ
Если вы можете нажать на bare repo на сервере сборки, то вы можете связать с этой голой репо post-receive hook (.git/hooks/post-receive
), который будет:
фотографии код
#!/bin/sh git --work-tree=/var/www/domain.com --git-dir=/var/repo/site.git checkout -f
триггер компиляции.
Таким образом, вам не придется обращаться с разницей самостоятельно.
Вам нужно всего лишь связать с кнопкой build действие, чтобы направить вашу ветку на голый репо сервера сборки, а хук post-receive сделает все остальное.
Проверьте код с чистого репо? –
@ Промышленный антидепрессант, который является идеей: голое репо позволяет вам нажимать на него, но из чистого репо вы можете проверить его содержимое на рабочем дереве, расположенном в любом месте, где хотите, и использовать это рабочее дерево для строительства. – VonC
Я попробую это, хорошо выглядит для меня. Я не знал, что могу проверить голый репо на рабочем месте. –
Вы можете перейти на forking Workflow, где каждый разработчик в компании имеет публичное публичное репо, являющееся вилкой официального центрального хранилища.
Затем, когда вы хотите создать свои изменения, вы нажимаете их (ветку или хозяин) на свое личное публичное репо.
Сервер сборки не только клонирует официальное центральное хранилище, но и ваше публичное репо. Поэтому, когда вы нажимаете на свое личное публичное репо, сервер сборки объединяет изменения и делает личную сборку для вас. Точно так же, как это, вероятно, уже делается для официального центрального хранилища?
Обратите внимание, что это не тоже отличается от ответа @VonC, просто фокусируется немного на рабочем процессе. Личный публичный репо вполне может быть на сервере сборки, как предлагает @VonC. Или это может быть где-то еще. Пока это достаточно простое место, чтобы сервер сборки и вы и ваши коллеги могли его найти.
Выглядит интересно, я определенно буду играть с этим подходом. –
Рассмотрите возможность интеграции http://jenkins-ci.org/ в рабочий процесс, чтобы позаботиться о процессе сборки, используя «git post-receive hook» для запуска сборки (как предложено @VonC).
Если вы хотите использовать «Рабочий процесс Forking Workflow», как предлагается @flup, вы можете взглянуть на http://gitlab.com, который обеспечивает простой способ управления запросами на вытягивание/слияние, хранилища fork и добавление крючков.
- 1. Как клонировать локальный репозиторий git в репозиторий на сервере?
- 2. Как создать локальный репозиторий git, который отражает восходящий репозиторий?
- 3. не удалось создать локальный репозиторий git
- 4. git - как я могу клонировать локальный репозиторий svn?
- 5. Git - Локальный репозиторий
- 6. Анонимный локальный репозиторий git?
- 7. Где я могу создать репозиторий Git?
- 8. Где разместить локальный репозиторий git
- 9. Как сбросить «локальный» репозиторий git?
- 10. Создайте локальный репозиторий Git на ящике Ubuntu
- 11. Невозможно создать локальный репозиторий
- 12. Как переместить мой локальный репозиторий Git в удаленный репозиторий Git
- 13. Как клонировать локальный репозиторий git для github?
- 14. Как создать репозиторий git на моем сервере с сервера github?
- 15. Git локальный репозиторий за обновлениями
- 16. Могу ли я создать репозиторий git на домашнем сервере? (Если да, то как?)
- 17. Локальный репозиторий с башней Git
- 18. migrate svn локальный репозиторий в репозиторий git
- 19. Как создать локальный репозиторий git и управлять с помощью SourceTree?
- 20. Создайте новый репозиторий git на сервере - авторизации
- 21. Как направить локальный репозиторий git на удаленную ветку?
- 22. Как я могу клонировать git-репозиторий на другой компьютер?
- 23. Как удалить локальный репозиторий Git из TortoiseGit?
- 24. push-репозиторий на «сервере»
- 25. Как импортировать локальный репозиторий git в svn?
- 26. Почему я не могу добавить этот удаленный репозиторий GitHub в свой локальный репозиторий GIT как удаленный?
- 27. Как мне запустить локальный репозиторий с Git?
- 28. Как удалить локальный репозиторий в git?
- 29. Как скопировать локальный репозиторий на удаленный сервер с помощью git?
- 30. Самостоятельный удаленный репозиторий git на сервере Windows
Один из распространенных методов заключается в том, что на сервере-репо есть пост-приемный крючок, вы нажимаете на это репо, и он выполняет проверку и управляет сборкой. – jthill
Независимо от того, как вам удается создать сервер сборки для создания ваших источников, было бы неплохо получить какую-либо обратную связь до того, как вы ее совершите? Возможно, есть кросс-компилятор, который работает на вашем ноутбуке? – flup