Комментарии 63
https://github.com/gogits/gogs/issues/19
https://github.com/gogits/gogs/issues/1339
И есть вероятность, что в будущих обновлениях — появится.
Рассылку бы сделали по клиентам.
А если я захочу owncloud+transmission-daemon (на одной машине), чтобы скачанное тут же ложилось в каталог owncloud и было доступно по http (это я настрою вручную, но нужны уже готовые и запущенные приложения) то я просто лезу опять по ssh на сервер и делаю всё руками, хотя вот он, дроплет с трансмишшн рядом лежит, у того же хостера.
В этом выдуманном примере вроде всем понятно, что настройки того и другого сервиса не пересекаются (и так будет, скорее всего, для большинства других сервисов).
Поэтому, конечно, порой действительно все равно нужно пойти на сервер по ssh и заняться какой-то произвольной конфигурацией. Провайдеры хостинга — не интеграторы сторонних систем, поэтому решения мы, как и наши коллеги, стараемся делать максимально унифицированными.
Напрашивается прямая аналогия с докер-контейнерами, конечно.
То есть, тут небольшой шаг в развитии концепции.
Вы не принимайте на свой счёт, я как раз вчера порадовался, что у вас появился докер-дроплет и тут же его себе раскатал.
Есть ряд нюансов:
— Все пакеты нужно где то хранить и обновлять
— Чем больше пакетов ставить — тем больше ставится скалет
— Не все кейсы нужны кому то, кроме пары человек
Все это накладывает ограничения. В том числе, например, образ с WordPress или образ с GitLab — ставится не на все тарифные планы. Тут тоже имеет место прежде всего возможность гарантированно стабильной работы на выбраном конфиге для большинства пользователей. Понятно, что немного подтюнив сервер (установить ngnix для статики, отказаться от apache, подключить swap раздел) — можно установить и на меньшие конфигурации, но все это требует тонкой настройки, которая индивидуальна в большинстве своем.
Правда, для российских хостеров интеграция в ближайшее время не планируется. Но там очень легко ставится в любую ОС и они могут самостоятельно допилить интеграцию.
Но за отзыв — спасибо, о проблеме знаем и работаем над этим ( и в принципе над публичным сайтом ).
Все остальные функции вроде обычный git сервер прекрасно предоставляет, безо всякого фронтенда.
Или я чего-то недопонимаю?
Ну и плюс держать репозиторий локально не все готовы. Gogs на текущий момент — хорошая, производительная и легкая альтернатива ресурсоемким GitLab, RHC, Stash и прочим self-hosted решениям.
Может вполне использоваться, как приватный репозиторий. Ну а в будущем, думаю, у них появится и кодревью (pre-merge) и сниппеты. Все это обсуждается.
Можно ссылку на обсуждение?
есть какое-нибудь сравнение производительности?
GitLab нужно как минимум 2 Гб памяти, если мне не изменяет память. Gogs неплохо работает на самых простых конфигурациях с 512 памяти в Vscale. Правда стресс-теста с огромным кол-вом реп я не делал.
https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/requirements.md
- 512MB RAM + 1.5GB of swap is the absolute minimum but we strongly advise against this amount of memory. See the unicorn worker section below for more advice.
- 1GB RAM + 1GB swap supports up to 100 users but it will be very slow
- 2GB RAM is the recommended memory size for all installations and supports up to 100 users
не знаю, правда, насколько оно юзабельно, если нет двух гб оперативы
я может что то пропустил, но о каких именно хуках идет речь?
$ git add. && git commit -m 'git hook test' && git push -u origin devel
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 282 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 1 (delta 0)
remote: Commit message MUST begin with a Mantis ID: #12345. Commit validation failed for commit 49a1d7f523d61f10df29b242041ee6722f0efdc0
To ssh://git@gitlab.example.net:2222/hooks/project1.git
! [remote rejected] devel -> devel (pre-receive hook declined)
error: failed to push some refs to 'ssh://git@gitlab.example.net:2222/hooks/project1.git'
Сам хук находится в файле /var/opt/gitlab/git-data/repositories/hooks/project1.git/custom_hooks/pre-receive
P.S.
CentOS 6.8 (Final), gitlab-ce-8.4.1-ce.0.el6.x86_64
Там речь идет про хуки, которые можно подложить через веб-интерфейс гитлаба. Иначе, вам надо каждому желающему давать ssh доступ до сервера, что, в реальной жизни, невыполнимо. Ну, или вы обновляете хуки по запросу от пользователей сами.
Что есть ревью кода? Пулл-реквесты в Гогсе есть
https://github.com/gogits/gogs/issues/1644
github.com/gogits/go-gogs-client/wiki
А также в Gogs можно отмечать репозитории как зеркало и он сам будет снимать копии через заданный промежуток времени.
Собственно используя эти две возможности я в легкую забэкапил все корпоративные репозитории с BitBucket.
Ну а еще в добавок:
GitPrep: github.com/yuki-kimoto/gitprep — примерно тоже самое, но на Perl.
GitBucket: github.com/gitbucket/gitbucket — на Scala
Klaus: github.com/jonashaag/klaus — на Python.
Есть ещё такая штука, как Phabricator. Мы его используем в своей организации в данный момент. Очень даже неплохая штука, работает быстро, правда недавно нашлись проблемы с PHP7 с какими-то асинхронными функциями, которые в седьмой версии пыхи были не до конца реализованы. Поэтому, они там ждут выхода PHP 7.1, в котором с этим проблем не будет. Ну так вот, на PHP v7 оно летает даже на самом дешёвом дроплете за пять долларов (или на vscale на самой дешёвой виртуалке). Из-за отката на PHP пятой ветки пришлось немного увеличить тариф нашего дроплета с фабрикатором, но это не смертельно.
Ну так вот, фабрикатор — это очень даже мощная штука, беплатный, без особых проблем настраивается и поднимается. Содержит в себе туеву кучу всяких прикольных модулей, благодаря которым можно построить очень даже удобную среду работы команды.
Я для своих коллег по цеху в нашей документации сделал небольшое ревью основных функций, которыми надо (или желательно) пользоваться.
- Diffusion дока (репозитории кода)
- Maniphest (задачи)
- Projects дока (управление проектами)
- Phriction дока (wiki движок)
- Audit дока (аудит коммитов)
- Paste (примеры кусочков кода)
Другие очень интересные модули:
- Passphrase (хранение и шаринг паролей и ssh ключей)
- Differential дока (обсуждение коммитов перед принятием, почти как пул реквесты на гитхабе)
- Drydock дока (аналог докера, экспериментальный инструмент для создания окружений, например для тестов)
- Legalpad дока (создание документов и соглашений, которые потом можно потребовать подписать определённому кругу лиц)
- Owners дока (выделение определённых папок и файлов проектов в отдельные обособленные области)
- Macro (быстрое создание мемов)
- Pholio (обсуждение дизайнов и интерфейсов)
- Countdown (создание счётчиков обратного отсчёта)
И это далеко не всё, но одни из самых полезных и интересных модулей. Из минусов фабрикатора хочу отметить его определённую сложность. Для его успешного использования, члены вашей команды должны быть в определённой мере образованными и компетентными, должны иметь стремление к порядку, стремление разбираться в определённой логике работы системы. Не все люди готовы к этому, как видно из практики.
Тут еще стоит указать, что Gogs прекрасно работает на Raspberry Pi, а для GitLab'a мне пришлось покупать второй план на DO.
Ещё есть Pagure: https://pagure.io/pagure
Написан на питоне, используется для проектов Fedora.
"pull-реквесты, issues, хранятся вместе с проектом, в Git-репозитории."
Gogs: легковесный git-сервис