Аккаунты и проекты
Некоторые возможности Tuist требуют сервера, который обеспечивает сохранение данных и может взаимодействовать с другими сервисами. Для взаимодействия с сервером вам нужен аккаунт и проект, который вы подключите к своему локальному проекту.
Аккаунты#
Чтобы использовать сервер, вам понадобится аккаунт. Существует два типа аккаунтов:
- Личный аккаунт: Такие аккаунты создаются автоматически при регистрации и идентифицируются по хендлу, который получается либо от провайдера идентификации (например, GitHub), либо из первой части адреса электронной почты.
- Организационный аккаунт: Такие аккаунты создаются вручную и идентифицируются по хендлу, который определяет разработчик. Организации позволяют приглашать других участников для совместной работы над проектами.
Если вы знакомы с GitHub, концепция похожа: у вас могут быть личные и организационные аккаунты, и они идентифицируются по хендлу, который используется при формировании URL-адресов.
Большинство операций по управлению аккаунтами и проектами выполняется через CLI. Мы работаем над веб-интерфейсом, который упростит управление аккаунтами и проектами.
Вы можете управлять организацией с помощью подкоманд раздела tuist organization. Чтобы создать новый организационный аккаунт, выполните:
tuist organization create {account-handle}
Членство в организации#
Пользователи могут стать членами организации по приглашению, через автоматическую регистрацию по единому входу или через предоставление доступа по системе управления идентификацией между доменами (SCIM).
Аутентификация через провайдера идентификации организации сама по себе не предоставляет членство. Политика регистрации по единому входу организации определяет, нужно ли пользователю из доверенного домена приглашение или он может присоединиться автоматически.
Администраторы могут пригласить участника из панели управления или с помощью tuist organization invite. Передайте --role admin или --role viewer, чтобы назначить приглашаемому роль, отличную от user, когда он примет приглашение.
Роли#
Каждый участник организации имеет одну из трех ролей:
| Роль | Что она дает |
|---|---|
| Администратор | Все, что может делать пользователь, плюс управление организацией: участниками и приглашениями, проектами, биллингом, токенами, вебхуками и настройками. |
| Пользователь | Чтение и действия с работой организации: запуск сборок и тестов, запись в кэш, создание и удаление превью, а также изменение состояния тест-кейса. |
| Наблюдатель | Чтение работы организации без внесения изменений. Панели управления, сборки, прогоны тестов, нестабильные и помещенные в карантин тесты, превью, бандлы и активность раннеров доступны для чтения. Подключение интерактивной оболочки или VNC-сессии к раннеру недоступно, так как это выполняет команды на машине. |
Выберите роль при приглашении пользователя и измените ее позже в разделе Участники панели управления. Роль, установленная таким образом, никогда не перезаписывается при последующем входе.
Проекты#
Ваши проекты должны быть интегрированы с вашим аккаунтом через удаленный проект. Продолжая сравнение с GitHub, это похоже на наличие локального и удаленного репозитория, куда вы отправляете свои изменения. Вы можете использовать tuist project для создания и управления проектами.
Проекты идентифицируются полным хендлом, который является результатом объединения хендла организации и хендла проекта. Например, если у вас есть организация с хендлом tuist и проект с хендлом tuist, полный хендл будет tuist/tuist.
Связь между локальным и удаленным проектом осуществляется через файл конфигурации. Если его нет, создайте его по пути Tuist.swift и добавьте следующее содержимое:
let tuist = Tuist(fullHandle: "{account-handle}/{project-handle}") // e.g. tuist/tuist
Обратите внимание, что некоторые возможности, такие как кэширование модулей, требуют проекта, управляемого Tuist. Если вы не используете Tuist для управления своим проектом, вы не сможете использовать эти возможности.
URL-адрес вашего проекта формируется с использованием полного хендла. Например, панель управления Tuist, которая является публичной, доступна по адресу tuist.dev/tuist/tuist, где tuist/tuist — полный хендл проекта.