Я хотел бы использовать git для размещения своего веб-сайта и хотел бы иметь платформу, на которую я могу войти онлайн, чтобы присоединиться к ней (что-то вроде Github). В таком случае вы могли бы подумать, что страницы Github будут для меня идеальным маршрутом, хотя я не хочу использовать страницы Github. Я хотел бы разместить все это на своих собственных серверах, как вы делаете с Github Enterprise (но бесплатно).
Я нашел Gitlab, и мне было интересно, могу ли я использовать Gitlab как страницы Github. Является ли это возможным?
web-hosting
git
Бен Уоткинс
источник
источник
Ответы:
Хорошие новости!
С 8.3 (декабрь 2015) GitLab имеет "GitLab Pages". https://about.gitlab.com/2015/12/22/gitlab-8-3-released/
Эта функция доступна на GitLab.com (где работает EE), где вы можете иметь бесплатные, неограниченные репозитории, публичные / приватные.
Вот документация для GitLab Pages, объясняющая, как вы можете бесплатно размещать статические веб-сайты на GitLab. http://doc.gitlab.com/ee/pages/README.html
источник
Я не совсем уверен, что вы спрашиваете. Вы говорите, что хотите разместить на своем собственном сервере, но ваш вопрос говорит, что вы хотите разместить как страницы gitlab, которые не являются вашим собственным сервером.
В любом случае, может быть, это поможет
Это то чем я занимаюсь
на локальном ПК
У меня сейчас есть репо локально. Скопируйте его на сервер
Теперь у меня есть это на удаленном сервере.
Теперь на сайте есть как главная, так и живая ветка. Я делаю это с AFAICT, вы не можете нажать на текущую ветку. Итак, теперь у нас есть «живая» ветвь, которая является текущей на удаленном компьютере, и «главная» ветвь, которая не является
Наконец добавьте пульт в мой локальный репо
Теперь, в любое время, когда я хочу обновить веб-сайт, я проверяю материал в своей локальной ветке master и затем запускаю этот скрипт.
The
git push
толкает мои изменения в ветке, не являющейся текущей на веб-сервере. Вssh
то регистрируется на веб - сервер и быстро пересылает изменения в «мастер» к текущей ветви. В данном случае «живая» ветка.--ff-only
говорит сбой, если есть изменения на сервере.Если на сервере есть изменения, я могу вытащить их в свой локальный мастер с
На больше вещь. Прежде чем сделать что-либо из этого, я устанавливаю ключи SSH на удаленном сервере, поэтому мне не нужно вводить пароли
Это не имеет абсолютно никакого отношения к github или gitlab. Я мог бы также внести туда свои изменения, но они не связаны.
источник
Существует проект nodejs, который реализует это: https://github.com/Glavin001/GitLab-Pages
источник
После небольшого поиска различных вопросов в Google я нашел способ. Это может быть не самый лучший способ и может быть слишком сложным, но это должно работать, и это главное. Хотя, если вы знаете лучший способ или можете найти его, пожалуйста, дайте мне знать!
Я обнаружил, что вы можете развернуть свой код на своих серверах через хиты Git. Все, что вам нужно сделать, это использовать SSH на вашем сервере, создать git-репо, а затем настроить хук для отправки коммитов в это репо. Это позволит вам отправить ваши коммиты на ваши серверы, но на данный момент не имеет ничего общего с gitlab.
Следующим шагом является добавление push-ссылки для gitlab на тот же пульт. Таким образом, вы будете подталкивать и к gitlab, и к самому сайту каждый раз. В результате оба репозитория gitlab и фактический сайт будут синхронизированы. Хотя это взлом и определенно неэффективно.
Я узнал, как развернуть ваш код на ваших серверах через git из этого поста в блоге: http://sebduggan.com/blog/deploy-your-website-changes-using-git/
Я обнаружил, что вы можете добавить два push-адреса для своих пультов в git из этого вопроса по stackoverflow: /programming/14290113/git-pushing-code-to-two-remotes
Как я уже сказал, если вы можете найти лучший способ, пожалуйста, дайте мне знать. Это будет работать, но это означает наличие двух версий одного и того же кода. Конечно, это очень грязно и является большой тратой памяти вашего сервера.
источник
В настоящее время лучшее, что вы можете сделать, - это использовать GitLab CI для передачи на статический сервер, такой как Amazon S3.
Если вы можете выполнить развертывание с помощью Git, следующий (нерешенный) вопрос относится к тому, как это сделать с помощью gitlab: /programming/14288288/gitlab-repository-mirroring
Для этого есть специальный запрос на трекере: http://feedback.gitlab.com/forums/176466-general/suggestions/5599145-preview-render-static-html-pages-pressed-to-repos
источник