Где должен быть репозиторий Subversion?

Должен ли он быть на серверах разработки или на сервере Subversion?

Я полагаю, это можно расширить до любой системы контроля версий клиент-сервер.

Не могли бы вы описать некоторые цели или ограничения, позволяющие дать более аналитический ответ на этот вопрос?

this.josh 18.05.2011 21:38
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
11
1
687
8
Перейти к ответу Данный вопрос помечен как решенный

Ответы 8

Ответ принят как подходящий

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

Как правило, сервер разработки не подходит под это описание ... может быть приемлемым разместить сервер apache на сервере разработки и разместить файлы удаленно на стабильном резервном файловом сервере (хотя с этим есть ряд ошибок. подход), если у вас нет возможности получить дополнительные ресурсы сервера. Размещение его на сервере разработки может быть приемлемым, если у вас есть агрессивная система резервного копирования для защиты вашего кода ...

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

Как бы вы обычно его поддерживали? rsync?

Liam 26.09.2008 19:30

У вас есть несколько вариантов, включая rsync. Если ваше репо было настроено с использованием Berkley FS, вы можете запустить несколько сценариев горячего резервного копирования. Вы можете создавать резервные копии этих файлов, используя любой механизм резервного копирования. Если вы используете FSFS, вы можете сделать живую резервную копию репо напрямую.

James Schek 26.09.2008 19:37

Я храню свой на сервере разработки, на котором также работает Trac, Apache, на котором размещается автоматически обновляемая копия проекта JavaDocs, и платформа сборки CI. Проект должен иметь довольно грандиозные размеры, чтобы для него требовался выделенный сервер Subversion.

Однако имейте в виду, что очень важно хранить резервную копию вашего репозитория Subversion на другом компьютере в другом месте - ваш репозиторий является вашим самым ценным активом!

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

Кроме того, если у вас есть группа разработчиков и работает активный сервер непрерывной интеграции, вы можете немного увеличить процессор, и последнее, что вы хотите сделать, это иметь что-то, что мешает вам вносить изменения в код.

Ящики для разработки, по определению, будут разбиты и упадут. Он идет с территорией!

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

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

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

шлепает. мы также отслеживаем дефекты в той же коробке, но по той же причине.

Мы используем чистый, чистый лист для наших репозиториев. В частности, мы используем Slicehost для нашего основного репозитория.

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

Статьи Slicehosts первоклассные.

Наш репо-сервер выглядит так:

Вот и все. Не много накладных расходов.

Обновлено: не пытаюсь продавать Slicehost здесь, поэтому, если это не кошерно, дайте мне знать!

Отредактируйте еще раз: Джеймс отлично замечает, что размещает проприетарный код на стороннем сервере. При выборе хоста для подобных действий, безусловно, следует проявлять особую осторожность. К сожалению, у многих компаний просто нет ресурсов для создания и управления серверами внутри компании, в чем мы и оказались до выбора хоста для нашего кода.

Размещение вашего кода с удаленными, неустановленными сторонними организациями сопряжено с рисками ОГРОМНЫЙ, которые следует сопоставить с преимуществами. Банкротство, безопасность, кража IP, сбои в работе, проблемы с подключением к сети и т. д. Могут в критический момент оставить вас на откуп сторонней компании.

James Schek 26.09.2008 19:32

Вот почему у вас автоматическое резервное копирование, Джеймс.

ceejayoz 26.09.2008 21:58

Как автоматическое резервное копирование помогает при краже IP-адресов третьей стороной? А автоматическое резервное копирование не изменит того факта, что у вас нет локальных серверов. Если служба хостинга прекратит работу, через какое время вы снова заработаете? Во сколько вам обойдется эта задержка?

James Schek 29.09.2008 18:38

IP = интеллектуальная собственность, например, кража вашего кода, алгоритмов или другой ценной информации, хранящейся на их серверах.

James Schek 29.09.2008 18:39

Всегда лучше держать ваши репозитории на стабильном сервере, где вы можете надежно делать резервные копии, когда это необходимо.

Другие вопросы по теме