Pull to refresh

Comments 78

Очень разумно бэкапить репозитории обратно на гитхаб. Я бы не стал считать in-house бэкап-сервис хостера надёжным. Один взрыв в биллинге, и нет ни инстанса, ни бэкапа. Сколько бы там failsafe не было, бэкап должен быть под техническим контролем хотя бы двух разных юрлиц.

и +1 на домашний и/или офисный накопитель. мало ли иногда и дублированное, через разных провайдеров, подключение к интернету может отвалиться
Хорошее замечание, для этого думаю воспользоваться встроенным Repository mirroring, буду зеркалировать обратно на gitlab.com все свои репозитории
Какой-то дурдом. Вроде не глупые люди держат гитлаб, и пытаются забанить «исходный код в интернете». Ну-ну, удачи.
UFO just landed and posted this here
Новые, более серьезные, репутационные риски после истории с бэкапами? Дануна. :)
Они пытаются соответствовать законодательству США, скорее всего, тут им деваться некуда.

Легче всего селфхостится fossil.


Поэтому я его и использую. Буквально 5 минут и правила уже твои. И бэкапится тоже очень просто — репозиторий, это файл SQLite. Да и вообще нет нужда бэкапится – каждый клон репозитория – полноценная резервная копия.

У гита все так же. Вот только к хорошему (веб-интерфейс как минимум) быстро привыкаешь, а ведь кроме репозитория в gitlab есть еще и управление проектом, CI+CD, репозиторий контейнеров...

В fossil веб интерфейс из коробки, потому что fossil позиционируется не только как система контроля версии, но вообще как система управления кода (SCM — source code management). Там и система документирования есть и баг тракер и wiki. И все это в одном файле. Запускается буквально за 5 минут, администрируется просто, в поддержки почти не нуждается.

Интересно.
Скажите, какие CI/CD системы поддерживаются в fossil? TeamCity, Jenkins? Или там встроенная есть?
Поддерживается ли интеграция с LDAP как в GitLab?
Насколько просто интегрируется с системами статического анализа кода? Тот же вопрос только относительно SAST и DAST.
Есть ли поддержка контроля зависимостей? Например, обнаружение использования зависимостей с известными уязвимостями или запрещенных в проекте лицензий?
Как в fossil делается code review? Есть встроенные средства или интеграция с внешними?

О fossil и его функциональность можно прочитать очень подробно здесь: fossil documentation — много чего есть.


Но, сразу скажу, прямо деплоить на МКС из fossil не получится. Увы, что не, то нет.

О fossil и его функциональность можно прочитать очень подробно здесь: fossil documentation — много чего есть.

Я заглянул в документацию. Возможно плохо искал, но похоже, что ничего этого нет и не предвидится.
Можно конечно обойтись без этих фич, но зачем если GitLab умеет всё это из коробки и даже больше?
Только потому, что fossil ставится за 5 минут, а GitLab за 30?

Но, сразу скажу, прямо деплоить на МКС из fossil не получится. Увы, что не, то нет.

Если вы считаете, что это какие-то космические фичи, то это не так. Почти всё это если не необходимо, то очень желательно иметь в SCM.
Только потому, что fossil ставится за 5 минут, а GitLab за 30?

Это не так мало, как кажется.


Во первых, Fossil намного надежнее (потому что проще и потому что ACID) чем вся та куча что нужна с git.


И нуждается в намного меньше ресурсов на сервере.


А еще, кроме те 5 минут, fossil совершенно не нуждается в поддержке. Он просто работает на сервере неограниченно долго без вмешательства администратора.


К тому же, fossil намного проще git, а команды интуитивнее и консистентнее — прямое олицетворение принципа KISS.

В одной из статей опубликованных на хабре я в комментах вычитал

А разве в этой статье не было написано, что репозитории удаляют? Потому что они нарушают правила сервиса. Так же в статье до этого, на хабре, было написано что создатели deepnude заявили, что если вы качаете и сохраняете их приложение, то вы нарушаете лицензионное соглашение. Т.е. вы такие прочли, ага поняли. И полезли на сторонний сервис нарушать правила. Или как это работает у вас?
Так я и не против, забанили и норм, самое главное, что меня это сподвигло поднять selfHosting версию Gitlab об этом я и поведал. Пусть мой горький опыт (1 сутки без доступа к коду) заставит других задуматься и сделать выводы)

Вот представьте в тот роковой день, мог бы потребоваться критический баг фикс, как мне его сделать если я поуши в облачной экосистеме gitlab.com и не могу деплоить без него?

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

А вы что, форкнули репозитарий не с личного аккаунта, а рабочего?

UFO just landed and posted this here
Так же в статье до этого, на хабре, было написано что создатели deepnude заявили, что если вы качаете и сохраняете их приложение, то вы нарушаете лицензионное соглашение.

А это вообще очень сомнительное утверждение. GNU GPL нельзя просто так взять и отменить. Авторы могут только заменить лицензию в следующей версии.

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

«Несмотря на меры безопасности (водяные знаки), если ваше приложение используют 500 000 человек, то неизбежно возрастает риск злоупотреблений. Мы не хотим зарабатывать деньги таким способом. Конечно, некоторые копии DeepNude разошлись по Сети, но мы не хотим продавать программу. Если вы скачиваете программу из других источников или сами распространяете её, то нарушаете условия использования на нашем сайте. С этого момента DeepNude не выпускает новые версии и не даёт никому разрешений на использование. А также не выдаёт лицензий на активацию премиум-версии», — сказано в твиттере.

Здесь ничего про лицензию, а только о программе перед открытия кода. Они хотели деньги делать, но не получилось. А потом сорс код вроде разработчики выпустили. Значит и GPL они вставили.

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

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

Да и вообще мне кажется логичным что перед тем как хостить что-то где-то (контент, сервер, сервис etc) нужно узнать, разрешено ли это (хотя бы на момент прочтения правил).

PS: Договора на кредиты/страховки/аренду/etc вы тоже не читаете, не глядя подписываете? Всё равно же «ведь любые законы можно извратить как угодно»…

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

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

Например в РФ есть закон о защите прав потребителей, и он поидеи мог бы защитить меня ведь я покупал у них тариф Bronze, да вот беда:
Выдержка из преамбулы: потребитель — гражданин, имеющий намерение заказать или приобрести либо заказывающий, приобретающий или использующий товары (работы, услуги) исключительно для личных, семейных, домашних и иных нужд, не связанных с осуществлением предпринимательской деятельности;

Т.е. как только я начал получать прибыль из предоставляемой гитлабом услуги, то я уже не потребитель.

И представьте себе сколько подобных ситуаций с которыми мы еще не столкнулись. Это хочется окончить процитировав И.В. Гете:
Суха, мой друг, теория, везде,
Но древо жизни пышно зеленеет.


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

Вот как раз наличие фразы "Мы имеем право изменять условия настоящего соглашения без предварительного уведомления" почти в каждом первом соглашении, напрочь лишают смысла его прочтение.

Это не говоря уже о том, что при обновлении версии, обычно нет возможности посмотреть изменения и предыдущую версию.

И никаких гарантий что то что я статью сейчас вообще имеет орошение к этим правилам. Как они вообще мигать доказать что когда я галку нажимал, пункт 35.1 выглядел именно так? Теоритически можно организовать какой-то независимый сервис (с блокчейном и дамами), который будет все это верифицировать, но на практике суд должен полагаться на внутренние логи и процедуры компании, которые вообще никем не регулируются. Иногда эти правила хотя бы про почте присылают, это хоть какая-то возможность заморозить подписанную версию. А обычно есть только ссылка на нестатичную страницу

Договора на кредиты/страховки/аренду/etc вы тоже не читаете, не глядя подписываете? Всё равно же «ведь любые законы можно извратить как угодно»…

Меня недавно шокировали друзья. Оказывается, договора на страховку по кредиту в РФ — это мусор. Вы можете их вдумчиво читать, но деньги при наступлении страхового случая вам не отдадут, просто наплевав на все договора и законы. Полагаю, многие, как и я, не в курсе, так что пользуюсь удобным случаем чтобы сообщить, что есть вот такая информация.

Я обычно читаю, но некоторые формальные части могу пропускать, мельком взглянув.

В соглашениях иногда забавные правила описывают, например, с помощью iOS запрещается управлять атомными электростанциями. Или, например, macOS можно запускать в виртуальной машине внутри оригинальной системы, но только одну копию, но смысла обычно нет из-за отсутствия ускорения графики.

А, чуть не забыл, на одном иностранном видеокурсе по генетике я не стал регистрироваться по простой причине — любое судебное разбирательство с привлечением моего аккаунта — я по умолчанию виноват и всё оплачиваю. Потом бояться будешь пересказать оттуда что-либо.
UFO just landed and posted this here
поддерживать gitlab in-house — ничего не стоит и занимает максимум часа полтора в месяц на апгрейды, если судить из моих записей.

тк была известная история, когда Gitlab потерял данные из-за того, что backupы не работали, с тех пор держу два инстанса: primary и backup. кажду ночь делаю backup на primary и восстанавливаю на backup, следя за ошибками при восстановлении. таким образом всегда знаю — у меня есть бэкап и он точно работает. из минусов такого — иногда на backup инстансе заканчивается место — но об этом я тоже вовремя узнаю. сейчас это делается всё легко, не так как лет 6 назад, когда гитлаб только становился на ноги…
UFO just landed and posted this here
Хорошо, попробую сделать видеогайд, наверное так будет удобнее.
Я бы тоже почитала с большим удовольствием про это. Если можно, то не только видеогайд, но и текстом.
Поддерживаю. В видео крайне трудно ориентироваться, проблематично просто пропустить какой-то кусок или наоборот рассмотреть только отдельный пункт.
Видеогайд как раз неудобно — по нему не поищешь конкретный момент и в поиске он будет индексироваться только по заголовку и краткому описанию. Да и смотреть видео не всегда удобно (мне — почти никогда).
Забанили ибо репозиторий после форка оставили публичным.
Если сменить тип репозитория на приватный, то всё ОК.
Да действительно, я не менял настройки видимости
Репозиторий был склонирован через веб интерфейс? Что мешает томуж же гитлабу автоматически скрывать такие(без копилефт лицензии) репозитории? ИМХО, но это нужно лишь для создания дурной славы гитлаба.
А в смысле забанили? Они по приватным репозиториям что ли лазают, смотрят где что лежит и банят если им что то не понравилось?
Ясно, но в любом случае Ваше решение выглядит самым оптимальным, можно хранить то, что считаешь нужным и не париться, что кто-то там левый полезет и что то сделает, что ему в голову придёт, нормально так, за какой-то форк без всех реп остаться, жесть.
Да, уже давно хотел переехать на свой гитлаб, но все как-то не до того было, а тут жизнь заставила. Но главное в этой истории то, что в тот день ничего критичного не требовалось выкатывать на прод.
Это повезло просто, на гитхаб бы выложить, посмотреть что будет, вроде пока не слышал там, о таких приколах, но проверить не помешало бы конечно, вдруг тоже скурвились.
Не, гитхаб первым начал удалять, народ сразу же в комментах начал говорить что Gitlab не удаляет, там все ок, накидали ссылок. Но оказалось что он не просто удаляет, а банит все подчистую.
Ну так это большая разница, одно дело забанить конкретный контент, который типа у них нельзя, а другой дело вообще всё под чистую прихлопнуть.
Если у Васи нашли коробок анаши, то весь дом в клетку ехать не должен.
Ясно все с ними в общем, спасибо Вам за инфо. +
В контесте данной новости достаточно забавно, что после покупки майкрософтом гитхаба началась волна миграции на гитлаб
Случай единичный, но для надежности теперь лучше начинать миграцию на собственные сервера
Покупка майкрософтом — это ноль случаев. И потом, кто сказал что единичный случай — это мало? Завтра могут один единственный репозиторий средства для обхода блокировки удалить, что тоже будет единичным случаем.
UFO just landed and posted this here
Ну… у меня скорее контр-пример.
Гитхаб
выложенные кем то и форкнутый репозиторий (скажем так — были подозрения что прилетит DMCA на оригинал),
через некоторое время — удаление оригинала по DMCA и ответ про DMCA в том числе и на моем форке.
При этом в JIRA repository scanner (который все сканирует) отказался нормально работать потому что github какую то фигню отдает вместо удаленного и не дает удалить руками.

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

Вы бы хоть пояснили кратенько, что это за deepNude такой, и зачем кому-то делать его форк…

DeepNude — приложение на основе искусственного интеллекта, которое «раздевает» женщин на фотографиях.
На мой взгляд достаточное интересное ПО (с моей программерской точки зрения), но то что оно вызвало недовольство некоторой части общества, мне вполне понятно, мало кто хочет быть невольно раздетым и опубликованным. Потом попробуй докажи что это фейк.
Тут более подробно, там же найдете комменты со ссылками на гитлаб которые уже не работают
UFO just landed and posted this here

А кстати, почему на gitlab бан выдает 404? Разве не должно быть 403?

Этот скрин после анлока, я прошел первую стадию авторизации и должно было показать форму для ввода двухфакторки, но вместо этого редиректило почему то на 404, что я только не делал. В итоге написал еще раз в саппорт и указал на то что у меня двухфакторка, потом они как-то более правильно разлочили и я смог войти
Ну если кратко то:
Gitlab docker-compose.yaml
version: "3"
services:
  gitlab:
    logging:
      driver: "json-file"
      options:
        max-size: "200k"
        max-file: "10"
    restart: always
    image: gitlab/gitlab-ce:latest
    hostname: 'gitlab.yourdomain.com'
    ports:
      - "23:22" // мапим ssh на 23 порт (в локальном origin обращаемся к гитлабу ssh://git@ip:23/username/repo-name,)
      - "80:80"
    environment:
      GITLAB_HTTPS: 'true'
      SSL_SELF_SIGNED: 'true'
      GITLAB_SHELL_SSH_PORT: 23
      GITLAB_PORT: 80
      GITLAB_OMNIBUS_CONFIG: |
          external_url 'http://gitlab.yourdomain.com'
          gitlab_rails['sentry_enabled'] = true
          gitlab_rails['sentry_dsn'] = ''
          gitlab_rails['sentry_clientside_dsn'] = ''
          gitlab_rails['sentry_environment'] = 'production'
          gitlab_rails['backup_upload_connection'] = {
            'provider' => 'AWS',
            'region' => 'eu-central-1',
            'aws_access_key_id' => '',
            'aws_secret_access_key' => ''
          }
          gitlab_rails['backup_keep_time'] = 1728000
          gitlab_rails['backup_upload_remote_directory'] = ''
    volumes:
      - ./config:/etc/gitlab:Z
      - ./logs:/var/log/gitlab:Z
      - ./data:/var/opt/gitlab:Z



Runner docker-compose.yaml
version: '3'
services:
    gitlab-runner:
        image: gitlab/gitlab-runner:latest
        restart: always
        privileged: true
        volumes:
            - ./cache:/cache
            - ./config:/etc/gitlab-runner
            - /var/run/docker.sock:/var/run/docker.sock


На фронт Gitlab, трафик проксируется через cloudflare, поэтому подключение к git не по домену а по ip
Скоро опишу все более подробно, но разобраться я думаю можно
Тут вот какой момент. В очередной виток битвы за суверенный интернет — DO может очень надолго прилечь. Как это собственно было недавно. Это надо обязательно держать в уме.
Так там все приляжет, а не только DO.
Более того, он до сих пор лежит. 165.227.0.0/16 никто из блокировок не удалял, например.
Удивлён, что его ещё не отзеркалировали куда-нибудь на git.repo.i2p, или вообще в Zeronet.
UFO just landed and posted this here
Много раз получал бан как от гитхаба так и от гитлаба, даже за приватные репы.
Быстрым решением было свалить на gogs+droneci(который уже использовал с github). Потом переехал на self-hosted gitlab.
Из всех переписок из саппортами было видно только одно — если код в вашем профиле или в группе, за которой торчиш — то виноват всегда ты.
Много раз получал бан как от гитхаба так и от гитлаба, даже за приватные репы.
За что?
За много разных форков «почти запрещенки»
UFO just landed and posted this here
По ссылкам нашел копии на gitee, в частности gitee.com/Barryda/deepnude_official
Попутно завёл там себе акк, защищённый от всяких DMCA нападок. Тот же popcorn потом скопирую туда. Но надо быть осторожным с хранением там личных проектов, всё-таки китай…
Sign up to leave a comment.

Articles