Pull to refresh

Comments 63

У Gogs есть возможность отобразить contributions graph пользователя, наподобие тому, как это реализовано у github или gitlab?
пока нет, но в планах, у них, насколько я вижу, есть. По крайней мере эта тема поднимается:
https://github.com/gogits/gogs/issues/19
https://github.com/gogits/gogs/issues/1339

И есть вероятность, что в будущих обновлениях — появится.
А почему хостите не у себя, а на гитхабе?
То есть спросить нельзя. Ответа нет, но минусы есть…
Продукт китайский. Авторов продукта в ветке нет.
Мы и делали. В своей панельке, анонс новых возможностей в Vscale.
Я правильно понял, конкурент гитхаба для работы пользуется гитхабом?
Вот почему про докер я только тут прочитал?
Рассылку бы сделали по клиентам.
В процессе! Скоро будет :) Анонс мы делали в панельке, но понимаю, что не все могли его прочитать. В будущем сделаем некий дайджест новинок, поскольку их скапливается, разной масштабности, достаточно много
то есть использовать еще нельзя? только создал сервер с докером.
Можно, пользуйтесь, конечно. Я говорил исключительно про процессы анонсов :)
Анон ваш появился в панельке видимо только после 17:36… совпадение?.. не думаю...=))
Честно, это странно :)) он висит там уже с прошлой недели. Может вы его «закрывали» случайно?
=) ну насчет сильно с той не думаю… 4 июля спрашивал как раз насчет докера поддержку в тикете — конкретики запуска не было, так что, в лучшем случае с пятницы может висеть
С 5-го числа, если быть точным :)

Но это и не сильно важно. В любом случае, спасибо за отзыв.
В готовых дроплетах всегда удручала одна особенность — они не layered даже в самом простом случае. Ситуация для домохозяек — когда я захочу простой owncloud-сервер — это будет делом пары минут. Так же и с торрент-качалкой, клик и готово.

А если я захочу owncloud+transmission-daemon (на одной машине), чтобы скачанное тут же ложилось в каталог owncloud и было доступно по http (это я настрою вручную, но нужны уже готовые и запущенные приложения) то я просто лезу опять по ssh на сервер и делаю всё руками, хотя вот он, дроплет с трансмишшн рядом лежит, у того же хостера.

В этом выдуманном примере вроде всем понятно, что настройки того и другого сервиса не пересекаются (и так будет, скорее всего, для большинства других сервисов).
Готовые образы — это прежде всего попытка угодить всем. Универсальное решение, подходящее в абсолютном большинстве случаев.

Поэтому, конечно, порой действительно все равно нужно пойти на сервер по ssh и заняться какой-то произвольной конфигурацией. Провайдеры хостинга — не интеграторы сторонних систем, поэтому решения мы, как и наши коллеги, стараемся делать максимально унифицированными.
Насколько я понимаю, формирование образа с готовым ПО всё равно производится скриптом (я не уверен, что это происходит в момент создания моего инстанса), так вот, какая разница, сколько подготовительных скриптов поработает над образом, который система раскатает на мой инстанс?
Напрашивается прямая аналогия с докер-контейнерами, конечно.
То есть, тут небольшой шаг в развитии концепции.
Вы не принимайте на свой счёт, я как раз вчера порадовался, что у вас появился докер-дроплет и тут же его себе раскатал.
Мысль я понял, конечно же, принимаю не на свой счет.

Есть ряд нюансов:
— Все пакеты нужно где то хранить и обновлять
— Чем больше пакетов ставить — тем больше ставится скалет
— Не все кейсы нужны кому то, кроме пары человек

Все это накладывает ограничения. В том числе, например, образ с WordPress или образ с GitLab — ставится не на все тарифные планы. Тут тоже имеет место прежде всего возможность гарантированно стабильной работы на выбраном конфиге для большинства пользователей. Понятно, что немного подтюнив сервер (установить ngnix для статики, отказаться от apache, подключить swap раздел) — можно установить и на меньшие конфигурации, но все это требует тонкой настройки, которая индивидуальна в большинстве своем.
Потому что это реально сложно, хотя и можно: http://jetware.org

Правда, для российских хостеров интеграция в ближайшее время не планируется. Но там очень легко ставится в любую ОС и они могут самостоятельно допилить интеграцию.
У bitnami это только набор образов для каждого приложения или стека. У jetware — это конструктор, в котором набираются несколько приложений и для части из них есть дополнительная автоматическая интеграция. Например, для Drupal, Solr и NodeJS.
Я хотел бы видеть этот список на сайте до того, как я впустую потрачу время на регистрацию (или не потрачу, а сразу уйду к конкурентам).
Сейчас есть возможность увидеть все фичи после основной регистрации (активация по ссылке из почты). В целом — это достаточно быстро и удобно. Если все понравится — активируете учетную запись полностью (смс и привязка карты).

Но за отзыв — спасибо, о проблеме знаем и работаем над этим ( и в принципе над публичным сайтом ).
в GitLab «Ревью кода» кажется только в enterprise-версии есть
Ревью доступен и в обычной версии, не только enterprise. Как он организован:
https://about.gitlab.com/2015/08/05/6-reasons-why-pre-is-better-than-post-production-code-review/
Прочитал, и так и не понял где codereview. Merge Request Approvals есть только в EE

Нет, в СЕ они тоже есть. Это основная причина почему я выбираю именно его, а не гогс.

А зачем _команде _ гитхабоподобный сервис без возможности ревью кода и сниппетов?

Все остальные функции вроде обычный git сервер прекрасно предоставляет, безо всякого фронтенда.

Или я чего-то недопонимаю?
Ну про команду никто вроде и не говорил, как обязательную опцию.

Ну и плюс держать репозиторий локально не все готовы. Gogs на текущий момент — хорошая, производительная и легкая альтернатива ресурсоемким GitLab, RHC, Stash и прочим self-hosted решениям.
Может вполне использоваться, как приватный репозиторий. Ну а в будущем, думаю, у них появится и кодревью (pre-merge) и сниппеты. Все это обсуждается.

Можно ссылку на обсуждение?

Запросы соответствующие есть:

https://github.com/gogits/gogs/issues/936
https://github.com/gogits/gogs/issues/776

Будем надеяться, что реализуют, и ждать долго не придётся.
судя по системным требования, Gogs не сильно производительнее чем GitLab, обоим нужен минимум гигабайт памяти и пара ядер.
есть какое-нибудь сравнение производительности?
Конкретных бенчмарков мы, честно, не делали.
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

не знаю, правда, насколько оно юзабельно, если нет двух гб оперативы

да, я плохо сформулировал :) recommended, конечно, а не минимум. но на практике — со свопом, конечно, в разы менее приятно даже производить установку.
1GB RAM + 1GB swap вполне юзабельно, просто местами небыстро.
довольно работоспособно, если «для себя и еще 1-2 человек». Количество репозиториев было порядка 15-20 по 50-150 мб. Потом перевёз на другой сервер (2 процессора, 2 гига), работать стало шустрее, но по сути разницу не особо заметил
как бывший юзер гитлаба и нынешний гогса могу сказать, что потребление ресурсов — небо и земля. Гитлабу не хватило 512 даже чтобы просто запуститься. Гогс сейчас работает, потребляя 40 мб.
Ставил для себя и знакомых как хранилище личных проектов. Хотел сначала gitlab поставить, но системные требования и необходимость настройки руби-окружения как-то подпортили впечатления на слабой vps. Поставил gogs и получил именно то что хотел — очень шустрый и простой гитхабо-подобный сервис под небольшие проекты. Конечно до большого брата далеко, но со скоростью разработки у проекта пока все хорошо, поэтому есть надежды. И кстати, golang легко установился и скромно молчит.
Для тех кто не хочет ставить на сервак golang и собирать самому, вот есть инструкция https://gogs.io/docs/installation/install_from_binary, можно просто скопировать на сервак бинарник и запустить его.
> Гит-хуки: GitLAB только в enterprise-версии

я может что то пропустил, но о каких именно хуках идет речь?

$ 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
Я могу ошибаться, но это их SaaS версия? В ней они есть, да
Нет, ce это Community Edition, которую вы можете установить на свой сервер

Там речь идет про хуки, которые можно подложить через веб-интерфейс гитлаба. Иначе, вам надо каждому желающему давать ssh доступ до сервера, что, в реальной жизни, невыполнимо. Ну, или вы обновляете хуки по запросу от пользователей сами.

Вебхуки так же есть в Community Edition

Да я не про веб-хуки, понятно что они там есть. В EE версии есть поле ввода для хуков, которые потом будут подкладываться на файловую систему. Для каждого проекта.

Что есть ревью кода? Пулл-реквесты в Гогсе есть

Если быть точнее, то эту возможность сломали при редизайне. В предыдущий дизайн я лично впиливал эту фичу.

Впилите ее обратно, пожалуйста!
Пожалуй стоит упомянуть что у GOGS есть GitHub-подобное API, правда пока в бете, но уже с клиентом/либой для Go:
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.
После go get -d github.com/gogits/gogs скачается master, который не компилится на данный момент. Нужно ручками зайти в сорцовую папку и чекнуть последний релиз
Почему в сравнении нет bitbucket? Для команд до 5-ти человек приватные проекты там бесплатны, стоимость ниже чем на github, да и все основные фичи есть.

Есть ещё такая штука, как Phabricator. Мы его используем в своей организации в данный момент. Очень даже неплохая штука, работает быстро, правда недавно нашлись проблемы с PHP7 с какими-то асинхронными функциями, которые в седьмой версии пыхи были не до конца реализованы. Поэтому, они там ждут выхода PHP 7.1, в котором с этим проблем не будет. Ну так вот, на PHP v7 оно летает даже на самом дешёвом дроплете за пять долларов (или на vscale на самой дешёвой виртуалке). Из-за отката на PHP пятой ветки пришлось немного увеличить тариф нашего дроплета с фабрикатором, но это не смертельно.


Ну так вот, фабрикатор — это очень даже мощная штука, беплатный, без особых проблем настраивается и поднимается. Содержит в себе туеву кучу всяких прикольных модулей, благодаря которым можно построить очень даже удобную среду работы команды.


Я для своих коллег по цеху в нашей документации сделал небольшое ревью основных функций, которыми надо (или желательно) пользоваться.


  1. Diffusion дока (репозитории кода)
  2. Maniphest (задачи)
  3. Projects дока (управление проектами)
  4. Phriction дока (wiki движок)
  5. Audit дока (аудит коммитов)
  6. Paste (примеры кусочков кода)

Другие очень интересные модули:


  • Passphrase (хранение и шаринг паролей и ssh ключей)
  • Differential дока (обсуждение коммитов перед принятием, почти как пул реквесты на гитхабе)
  • Drydock дока (аналог докера, экспериментальный инструмент для создания окружений, например для тестов)
  • Legalpad дока (создание документов и соглашений, которые потом можно потребовать подписать определённому кругу лиц)
  • Owners дока (выделение определённых папок и файлов проектов в отдельные обособленные области)
  • Macro (быстрое создание мемов)
  • Pholio (обсуждение дизайнов и интерфейсов)
  • Countdown (создание счётчиков обратного отсчёта)

И это далеко не всё, но одни из самых полезных и интересных модулей. Из минусов фабрикатора хочу отметить его определённую сложность. Для его успешного использования, члены вашей команды должны быть в определённой мере образованными и компетентными, должны иметь стремление к порядку, стремление разбираться в определённой логике работы системы. Не все люди готовы к этому, как видно из практики.

Для нашего, весьма скромного проекта, используем: gitblit

Тут еще стоит указать, что Gogs прекрасно работает на Raspberry Pi, а для GitLab'a мне пришлось покупать второй план на DO.

Ещё есть Pagure: https://pagure.io/pagure
Написан на питоне, используется для проектов Fedora.


"pull-реквесты, issues, хранятся вместе с проектом, в Git-репозитории."

А кто-нибудь использует kallithea? Лекговесно, на питоне, пользуем для десятков проектов, в целом довольны.
Sign up to leave a comment.