#git #github
#git #github
Вопрос:
Я хочу позволить пользователю создавать репозиторий, а затем отправлять его в мое веб-приложение. Когда он будет «отправлен» в мое приложение, я возьму файлы и скопирую их в каталог на моем сервере.
Цель здесь — позволить людям отправлять мне небольшие приложения, которые я затем могу обслуживать. В идеале они могли бы запустить что-то столь же простое, как git push donnys_site master
и мой сайт, и начать доставлять свое приложение (очень похоже на рабочий процесс heroku).
Что я должен исследовать для этого?
Ниже приведен лучший метод, о котором я подумал:
1. User creates a git repo.
2. User adds `donnys_site` as a remote.
3. User does `$ git push donny_site master`.
4. My site receives the push... not sure what this really entails. Maybe I need my own git repo for each repo being pushed to me?
5. I believe git has post-commit hooks, which let me take action. So use a post-commit hook to trigger a script to copy their files to a directory thats acting as a webserver.
Ответ №1:
Да, это должно сработать.
На сайте сервера вам нужен пустой репозиторий для других пользователей. Вы можете настроить перехват в этом репозитории, который запускается всякий раз, когда кто-то переходит в репозиторий. Посмотрите git help githooks
подробности. Возможно, в вашем случае будет полезен перехват обновления.
Сам хук может быть скриптом bash или любым другим исполняемым файлом. Вы можете просмотреть недавно отправленные данные и записать их везде, где это требуется вашему сайту.