Pull to refresh

Comments 59

Попробуй Gogs. Написан на Go и ввиду этого быстрее и жрёт оперативы поменьше
gogs.io
Оу. Люблю Go. Посмотрю. Спасибо)
Нам тоже gogs больше понравился.
После нескольких месяцев использования gitlab'a попробовали его, да и переехали. Он простой, быстрый и нет всяких ненужных нам лишностей. И ещё опенсорсный.
На GitLab мы не так давно переехали, и пока очередной переезд точно не грозит. Но для себя я точно Gogs изучу.
А если не секрет, что именно сподвигло уйти с gitlab'a?
Количество сожранной рельсами оператвы и вечные подтекания sidekiq'a.
Довольно сложная установка и потребность в RVM'e.
Вы из сорсов что ли ставили? Куда проще из пакетов ставить. Тогда gitlab устанавливается и обновляется в один клик. Проще некуда его администрировать.
Я не ленюсь в этом плане — у готовых omnibus'ов есть свои недостатки, особенно что касается экстренных обновлений Ruby и всяких Security патчей. Количество съеденной оперативки от способа установки не зависит. В omnibus'e те же исходники и теже init скрипты, и тот же костыль на перезапуск sidekiq по таймауту и в случае съедения всей памяти.

Единственной причиной по которой я до недавних пор пользовался gitlab'ом являлось наличие хорошего ci.
Сейчас же можно спокойно пользоваться https://github.com/drone/drone c gogs'ом.
Gitlab сами быстро патчат уязвимости, так что недостаток этот отпадает. А все остальное не причиняет мне неудобств. Оно просто работает и работает хорошо, им удобно пользоваться, дофига функционала. Собственно, ничего лучше Gitlab на рынке и нет. Только платные решения.
Можно еще проще, запустив официальный докер-контейнер.
github.com/sameersbn/docker-gitlab гораздо функциональнее.
GitLab сейчас ставится и обновляется при помощи apt-get install gitlab-ce
я безуспешно пытался несколько раз завести на своем digitalocean docker с гитлабом, но ему не хватает самого дешевенького тарифа, т.к. прожорлив он весьма.
Около пары месяцев назад открыл для себя gogs — это чудо. Весь базовый функционал есть, а памяти жрет в десятки раз меньше. Только что поднятый инстанс, если не ошибаюсь, занимал всего 8 мб памяти (гитлабу не хватало 512-ти).
В общем присоединяюсь и советую.
Выглядит вкусно, а какой-нибудь CI имеется, чтобы тоже на Go и легко интегрировался с gogs?
две беды у GitLab'а есть. как только встречаются:
  1. не-UTF8 кодировка имён файлов
  2. не-UTF8 кодировка содержимого файлов
    то тут-то он и не справляется

и если первое можно победить одномоментной миграцией, переименовав файлы
то со второй у него долгая и, судя по всему, так и не исправленная, история…
а патчить каждую версию (или, тем более, просить админов) — увольте
Честно говоря, не сталкивался с этой проблемой. Надо будет подробнее изучить. Но я сомневаюсь, что этот вопрос никогда не поднимался. Если что найду — отпишу)
да в том-то и дело, что поднимался, и не раз )) только предлагавшейся настройки "кодировка файлов" так и нет )
З.Ы. GitLab юзает gem charlock-holmes, который автоопределяет кодировку, но на малом объёме входного текста — неверно
chalock-holmes использует libmagic, ее же использовал ранее гитхаб, он тоже на ваших данных не работает?
Без понятия. У меня уже нет времени (да и желания особо) ещё раз разворачивать GL, чтобы это проверить.
Есть простой синтетический тест проверить libmagic?
Скорее всего команда file может выдавать кодировку (вообще там довольно ограниченный набор). По хорошему вместо libmagic они должны были использовать icu chardet или mozillaовский uchardet.
Еще неплохой идей было бы поддерживать файлик на подобии .gitignore или ini где указывались бы глобы и соответствующие кодировки.
Еще неплохой идей было бы поддерживать файлик на подобии .gitignore или ini где указывались бы глобы и соответствующие кодировки.

уже всё есть
.gitattributes encoding
только что до этого GitLab'у? )
.gitattributes это тема, не знал про этот файлик. Спасибо огромное!
Интересно, хоть какой нибудь хостинг реп его использует?
хо-хо! гитлабовцы, наконец, признали это проблемой и будут, вроде как, использовать .gitattributes
Что за проблемы?
В свое время пару лет сидели на чисто Open Source версиях (когда Enterprise еще не было) — никаких проблем, полет отличный.
Уже давно ушли на стек продуктов Atlassian, но, чисто субъективно, GitLab бегал намного шустрее и жрал на серваке куда меньше ресурсов.
Я использовал для pet'ов Bitbucket, но по ощущениям как-то GitLab приятнее. Хотя я не нашел супер-отличий. Может дело в том, что Atlassian это все таки по большей части enterprise сегмент, и в нем мало духа авантюризма)
Ну когда есть все эти Jira, Bamboo, Confluence, Crucible и прочее, проще и быстрее развернуть BitBucket и в пару кликов их подружить.
Да простят меня адепты Java, но у меня аллергия на продукты, написанные этим языком. Если Java, то это сразу надо выделять тонны оперативки и несколько процов, сразу чувствуется какая-то неповоротливость и задумчивость. Но увы и ах, весь интерпрайз на нем, приходится страдать со всеми.
Скажите спасибо поголовью индусов, которые пишут это так дешево. Со всеми вытекающими требованиями к памяти и cpu. Хотя на руби тоже относительно прожорливые поделия получаются.
Тот же youtrack работает шустро и довольно удобен. Хотя тоже на яве (возможно, частично, и на котлине, не знаю).
Дык я же не спорю. Мало того, тенденция продолжается, так что дальше только хуже будет (или лучше, тут смотря с какой стороны смотреть).

Jira/BitBucket тоже относительно шустро работает, если ресурсов выделить. Но тот же GitLab с той же командой наших разработчиков комфортно работал (да и работает, на самом деле — мы просто его не поддерживаем) при десятикратно меньшей выделенной оперативы. У нас внутренних железок хватает с избытком, так что никаких проблем нет, но вот для других команд тут может быть проблема.
проблема отображения diff'ов файлов в кодировке, отличной от UTF-8 (привет из Windows),
также их имён (привет из Cygwin), ну и текстов сообщений коммитов
Хоть один аргумент в пользу неиспользования UTF-8?
Сами вот уже три в пользу назвали.
Есть один… мощный: legacy
Сорцы-то зачем в непонятных кодировках держать?

Я тоже работал со всякими лохматыми МСВС, где koi8-r (на Linux, черт возьми!) поставлена по умолчанию. Ну это не повод самому говнокодить и держать все в непонятно чем.
а кто говорит про «самому»?
я же сказал: legacy! на 200000 строк кода основного проекта (без учёта библиотек)
IDE 10-тилетней давности, без поддержки Юникода
миграция на «современную IDE» = время = деньги, их ни у кого на это нет
Тоже примерно таким https://github.com/xRayDev/gitlab_windows1251/commit/ac65ae9bbafe528566324e6065bf867658ec4dec костылем пользуетесь?
да-да, только
мы так и не пользуемся, ибо на тот момент, когда я тестил GL, были ещё баги
PR мой отвергли ))
а поддерживать патчи после обновлений мне не улыбалось )
так что пока gitolite…
но лёгкого управления доступом к проектах, уведомления, построчных комментов к коммитам хотелось бы ))
Надо посмотреть упомянутый в комментариях Gogs. Может у него с этим проблем нет.
надо )) но сомневаюсь ))
сейчас «все» почему-то думают, что UTF-8 единственная возможная кодировка ))
Хе всего одна строчка :)
Еще пачте правится второй файлик и там точно такой же баг в геме gitlab_git от разработчиков GitLab.
кругом костыли ))
я тут надысь на похожую тему FlexGet фиксил ))
там, правда, ситуация в обратную сторону ))) текст приходит в UTF-8, а его перекодируют в latin1 зачем-то
Да. Так есть. Накладываю патч (в пару строк на два файла) на каждую. Версию GitLab.
И у GitHub та же самая проблема имеется.
Да я видел. )) И не поверил своим глазам что этот баг таки добавили в беклог.
А в настройках у gogs это сразу учтено.
А ведь изначально же gitlab, если мне не изменяет память, был как раз веб-интерфейсом для gitolite, так что переезд для нас (5Gb репозиторий, большая часть — PHP) был безболезненным.
Но самый большой плюс GL — это потрясающая документация, спасибо dzaporozhets и команде GL за это.
Да. Вы правы. Я тоже помню когда GL был еще на gitolite. Но как по мне, если реально нужен подобный инструмент, то gitolite — пережиток прошлого, ИМХО.
А подскажите, мэтры гитлаба, какой issue tracker к нему наиболее кошерно подключается? Встроенный, конечно, не ужас-ужас, но всё-таки ужас.
Хочу категории и нормальный flow для тасков (открыта, заассайнена, оттестирована и т.п) хотя бы.
В зависимости от того, что Вам надо. Jira и Redmine (используем второй)
Каким инструментом контроля версий пользуетесь вы?
На нынешнем месте работы – CVS.
:trollface:
Еще есть https://github.com/gitbucket/gitbucket для JVM.
а вы пробовали/смотрели scmmanager? Развернули его на работе и дома для домашних проектов — очень нравится. У нас правда, команда не большая, но проектов около 20. Единственное но — оно на java. Пока нареканий не было...
Стоит добавить, что SCM-Manager работает не только с Git, но и с Mercurial / SVN.
Мы используем gitblit. Выбрали его в основном из-за возможности создавать сложную иерархию проектов на сервере. Основные недостатки (для нас), то что по этой иерархии не очень удобно ходить и создавать новые репы. Она в общем списке всегда полностью развернута :)
Но в целом норм.
Есть ещё rhodecode.com. Управляет правами доступа на уровне пользователей, групп или отдельных репозиториев (Git, Subversion и Mercurial). Бонусом — code review функционал и интеграция с issue trackers/CI. Бесплатный до 25 пользователей.
RhodeCode тоже open source (AGPLv3 с мая 2016): https://rhodecode.com/blog/113/rhodecode-goes-open-source
Вся прелестность GitLab заканчивается тогда, когда с ним надо работать в корпоративной среде, с необходимостью интеграции issue tracker и все это сдобрено толикой SSO. В моем случае в качестве issue tracker`а была JIRA. Даже Enterprise предлагает только «создание специального пользователя» в JIRA с доступом к JIRA Core. И коменты оно пишет из разряда «mentioned» а не то, что было в коммите.
Ну тогда в вашем случае полагаю Jira Server использовался, а тогда https://marketplace.atlassian.com/plugins/com.xiplink.jira.git.jira_git_plugin/server/overview чем плох?
RhodeCode (https://rhodecode.com) специально для enterprise сделан. Есть аутентификация через Active Directory/LDAP/Atlassian, интегрируется с JIRA/Redmine.
Sign up to leave a comment.

Articles