Контрольный список для изменения частного проекта на общедоступный

Azure DevOps Services — открытые проекты

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

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

Удостоверения и параметры Организации

Когда вы приглашаете пользователя стать участником проекта, он получает доступ к дополнительным ресурсам и сведениям о Организации. В частности, они имеют доступ к следующим сведениям.

Область Дополнительные сведения, получаемые участником
Identities Список всех участников, добавленных в организацию
Identities Контактные данные электронной почты для каждого участника проекта
Параметры Представление всех параметров Организации и проекта только для чтения
Обработка метаданных Все значения поля выбора во всех проектах в Организации

Открытие проекта в общедоступном виде может также раскрыть удостоверения разными способами. Сборки и выпуски могут показывать имена пользователей, которые активировали их, а также удостоверения (включая адреса электронной почты), внедренные в фиксации Git. Фиксации и рабочие элементы Git могут содержать внедренные сведения об удостоверении, такие как имя, фамилия и адрес электронной почты.

Перекрестные связанные объекты

в Azure DevOps можно связывать объекты, существующие в разных проектах, определенных в той же организации. например, можно связать ошибку в Project а с запросом на вытягивание в Project б. Если между общедоступным и частным проектом существуют связи, сведения о связанном артефакте в частном проекте отображаются в общедоступном проекте.

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

Типы связей между проектами

Пять типов ссылок между проектами предоставляют содержимое из закрытого проекта.

Тип связи Доступное содержимое
Элемент с несколькими версиями имя Project, имя файла
Ветвь Имя ветви
Вики-страница Имя файла
Запрос на вытягивание Заголовок запроса на вытягивание
Рабочий элемент Название рабочего элемента

Гибкие инструменты и рабочие элементы

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

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

Совет

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

Код

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

Совет

Если вы не предоставляете доступ ко всему репозиторию, вы можете перенести его в другой проект. См. инструкции по миграции TIP.

Сборка и выпуск

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

Если необходимо перенести конвейеры сборки в новый проект (возможно, так как вы перемещаете код или рабочие элементы), их можно импортировать и экспортировать с помощью YAML.

Тестирование

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

Аналитика и панели мониторинга

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

Artifacts

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

Модули

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

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

Советы по частичной миграции

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

Перемещение рабочих элементов в частный проект

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

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

Подсказка Git — миграция только

Если не удается предоставить общий доступ к репозиторию из-за проблемы с журналом проблем, попробуйте выполнить миграцию только для TIP в новый репозиторий в другом проекте. Проект, содержащий проблемный репозиторий, должен оставаться закрытым. Новый репозиторий должен быть создан в проекте, который не следует делать общедоступным.

Предупреждение

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

  • Клонировать существующий репозиторий: git clone <clone_URL>
  • Убедитесь, что вы находитесь в корне репозитория: cd <reponame>
  • Убедитесь, что вы находитесь в подсказке ветви, с которой вы хотите начать, обычно это Главная страница: git checkout main
  • удаление данных Git: rmdir /s .git на Windows в rm -rf .git macOS или Linux
  • Инициализируйте новый репозиторий Git: git init
  • Создайте новый пустой репозиторий в общедоступном проекте.
  • Добавьте новый репозиторий в качестве исходного удаленного: git remote add origin <new_clone_URL>
  • Отправьте новый репозиторий: git push --set-upstream origin main

Дальнейшие действия