Сервис находится на стадии Preview. Для сервиса не действует соглашение об уровне обслуживания SLA, и его использование не тарифицируется.
SourceCraft — платформа, с помощью которой вы можете разрабатывать исходный код, управлять версиями, тестировать, собирать, развертывать и сопровождать программные продукты. Сервис представляет собой систему управления репозиториями кода для git с отслеживанием ошибок и пайплайном CI/CD.
Организация — это пространство пользователя в SourceCraft.
Организации не взаимодействуют друг с другом. Ресурсы одной организации не могут взаимодействовать с ресурсами другой организации.
По умолчанию новый участник организации не имеет доступа к репозиториям организации. Права доступа ему необходимо выдать явно: назначить роль непосредственно на репозиторий или целиком на организацию.
Каждой организации в SourceCraft соответствует организация в сервисе Yandex Identity Hub.
Для авторизации корпоративных аккаунтов в SourceCraft с помощью системы единого входа (Single Sign-On, SSO) вы можете использовать SAML-совместимые федерации удостоверений Yandex Cloud.
Репозиторий позволяет отслеживать развитие проекта, управлять разными ветками разработки и возвращаться к предыдущим версиям кода.
Чтобы контролировать процесс внесения изменений, обеспечивать ревью кода, соблюдать правильность именования и условия создания веток и тегов, а также защищать ветки от случайных коммитов или прямого пуша в SourceCraft, предусмотрены политики веток.
В SourceCraft вы можете настроить приватность репозитория:
Приватный — доступ к просмотру и изменению репозитория будут иметь только приглашенные пользователи.
Публичный — доступ к просмотру репозитория будут иметь все пользователи интернета без аутентификации. Доступ к изменению репозитория будут иметь только приглашенные пользователи.
Важно
SourceCraft публично доступен для всех на стадии стадии Preview. Соответственно, просмотр публичных репозиториев доступен всем пользователям интернета без аутентификации.
В любой момент вы можете изменить тип доступа к репозиторию.
Репозитории в SourceCraft поддерживают спецификацию Git Large File Storage (LFS) для хранения больших файлов. Рекомендуем использовать LFS для размещения в репозитории объектов размером более 100 МБ.
Вы можете импортировать или зеркалировать в SourceCraft репозиторий с исходным кодом, размещенный в другой системе управления IT-проектами для git.
Зеркалирование позволяет автоматически синхронизировать содержимое определенных веток исходного репозитория и репозитория в SourceCraft.
Примечание
Сейчас поддерживаются только репозитории, которые размещены на GitHub.
В составе репозитория импортируются следующие компоненты:
История коммитов.
Все существующие ветки.
Открытые и закрытые пул-реквесты.
Задачи (issues).
Комментарии.
Теги.
Важно
Пул-реквесты, задачи, комментарии и теги переносятся только при первой синхронизации и далее не обновляются. Зеркалируются только определенные ветки исходного репозитория.
На зеркалируемые ветки в репозитории SourceCraft накладываются защитные правила политики веток. Их нельзя изменить в SourceCraft, они обновляются только при синхронизации с исходным репозиторием.
Если политика веток будет отключена, или пользователь с рольюАдминистратор репозитория обойдет ее, то при очередной синхронизации репозиториев история коммитов в SourceCraft будет переписана (force push).
Ответвления (forks) — это механизм, с помощью которого вы можете создавать собственную изолированную копию другого репозитория. Ответвление включает весь код, историю коммитов и основную ветку или все ветки и теги оригинального репозитория.
Основное предназначение ответвлений — упрощение процесса внесения изменений в чужие проекты, в том числе Open Source. Вы можете свободно экспериментировать, добавлять новые функции или исправлять ошибки, а затем предлагать свои изменения в основной проект с помощью пул-реквестов.
Ответвление содержит только объекты, которые были созданы при работе с ним, например коммиты и LFS-объекты, а данные репозитория-оригинала подключаются динамически.
При удалении репозитория-оригинала новым оригиналом становится ответвление, которое было создано первым. Все данные переносятся в это ответвление.
Поддерживаются последовательные цепочки ответвлений глубиной до 10 уровней.
Примечание
Для создания ответвления требуются права на чтение репозитория-оригинала. Если вы создаете ответвление от ответвления, то у вас должны быть права на чтение для всех репозиториев из цепочки. Подробнее см. на странице Управление доступом в SourceCraft.
CI/CD-процессы в пул-реквесте из ветки репозитория-ответвления в ветку репозитория-оригинала могут быть запущены только пользователями с рольюРазработчик репозитория или рольюОтветственный за репозиторий в репозитории-оригинале. Автоматический запуск CI/CD в таких пул-реквестах отключен.
Пул-реквест — это предложение интегрировать изменения из одной ветки в другую, обычно в основную ветку проекта. Пул-реквест содержит описание изменений, сравнение веток, обсуждение для ревью, а также может интегрироваться с CI/CD-процессами. Это облегчает командную работу и позволяет проверять и утверждать изменения по заданным правилам перед тем, как они будут добавлены в основной проект.
Для работы с пул-реквестами в SourceCraft, в том числе для ревью, не требуется специально переходить в IDE на локальном компьютере, все действия можно выполнять в интерфейсе SourceCraft. Доступны поиск и навигация по коду проекта, а также возможность редактировать код.
Задачи (issues) — это инструмент для отслеживания ошибок, улучшений и запросов на добавление новых возможностей в проекте. В задаче вы можете организовать обсуждение в комментариях, установить статус работы, приоритет и ответственного.
С помощью задач можно поддерживать активность пользователей в проекте. Пользователи голосуют за задачу, обсуждают проблему или идею в комментариях, делятся своими предложениями и уточняют детали.
С помощью реакций, например лайков, дизлайков и других эмодзи, оценивается важность или полезность комментария. Пользователей можно упоминать в сообщении с помощью символа @, а ссылки на другие задачи, цели и пул-реквесты помогают объединять связанные обсуждения и ускоряют совместное решение задач.
В SourceCraft поддерживается обновление страницы с задачей в режиме реального времени. Вам не нужно обновлять страницу вручную, чтобы увидеть новые комментарии, реакции и другие изменения.
Чтобы узнавать о новых комментариях, реакциях и других событиях, подпишитесь на уведомления о задаче. Уведомления приходят на почту, связанную с вашим аккаунтом.
Цели (milestones) — это инструмент для планирования и отслеживания ключевых вех в процессе разработки программного обеспечения.
Целями могут быть, например, очередной релиз или выпуск значимого обновления.
Для каждой цели вы можете установить срок выполнения и указать задачи (issues), которые нужно выполнить для достижения цели. К задачам, в свою очередь, вы можете привязать конкретные пул-реквесты.
Таким образом, с помощью связки из целей, задач и пул-реквестов вы можете отслеживать прогресс разработки и контролировать приоритеты.
С помощью секретов вы можете хранить в репозитории в зашифрованном виде конфиденциальные данные, например пароли, ключи доступа, токены и т. д.
Секрет представляет собой пару ключ-значение. Где ключ — название секрета, а значение — конфиденциальные данные.
Значения секретов можно использовать в CI/CD-процессах репозитория. Для этого в конфигурационном файле .sourcecraft/ci.yaml укажите секрет в формате ${{ secrets.<название_секрета> }}.
В SourceCraft реализована расширенная навигация по коду проекта, в том числе в репозиториях, доступных только для чтения. Вы можете выполнить следующие виды поиска:
Вы можете редактировать код своего проекта в интерфейсе SourceCraft. Изменения можно внести напрямую в ветку репозитория или в виде пул-реквеста.
В редактор кода SourceCraft встроен Code Assistant.
Code Assistant — это AI-помощник разработчика, основанный на больших языковых моделях (LLM), с помощью которого вы можете улучшить процесс написания кода и повысить производительность.
В режиме Smart autocompletion AI-помощник анализирует контекст кода и предлагает наиболее вероятные и релевантные подсказки: функции, циклы, условия и другие элементы.
Также в Code Assistant доступен режим чата, с помощью которого вы можете общаться с AI-помощником в интерфейсе IDE.
В SourceCraft вы можете хранить, распространять и управлять пакетами (packages) программного обеспечения. Это могут быть сторонние библиотеки, зависимости или собственные сборки программ.
С помощью пакетов разработчики могут легко делиться результатами сборки, переиспользовать код и внедрять его в свои проекты.
Пакеты хранятся в реестрах (registries) — хранилищах, куда пакеты публикуются и откуда их могут скачивать другие участники или автоматизированные системы. Реестр обеспечивает управление версиями, контроль доступа, аудит и связывает процессы публикации и внедрения пакетов в системе управления исходным кодом.
Поддерживаются следующие типы пакетов:
Docker — Docker-образы.
Maven — Java-артефакты.
npm — Node.js-артефакты.
Важно
Для создания и добавления реестров, а также подключения реестров к репозиториям требуется рольАдминистратор организации.
Доступ к чтению пакетов из реестров имеют все пользователи в организации.
Реестры, созданные в SourceCraft, также будут отображаться в консоли управления Yandex Cloud.
Примечание
При подключении репозитория к реестру все пользователи, имеющие в репозитории рольРазработчик репозитория, рольОтветственный за репозиторий или рольАдминистратор репозитория, получают возможность загрузки пакетов в этот реестр.