Вклад в Apache Seata (инкубационный период)
Если у вас есть интерес к поиску уязвимостей в Apache Seata, мы будем рады приветствовать вас. Прежде всего, мы очень поощряем такое желание. Вот список руководств по внесению вклада.
[Руководство по внесению вклада на английском языке]
Темы:
Сообщение о проблемах безопасности
Проблемы безопасности всегда будут восприниматься серьёзно. Обычно мы не рекомендуем никому распространять проблемы безопасности. Если вы обнаружите проблему безопасности в Apache Seata, пожалуйста, не обсуждайте её публично, даже не поднимайте вопрос. Вместо этого мы рекомендуем вам отправить личное электронное письмо по адресу private@seata.apache.org, чтобы сообщить об этом.
Сообщение об общих проблемах
Честно говоря, мы считаем, что каждый пользователь Seata является отличным вкладчиком. После использования Seata у вас могут возникнуть некоторые отзывы о проекте. Тогда вы можете подать заявку через NEW ISSUE, чтобы создать новую задачу.
Поскольку мы сотрудничаем с Seata распределённым способом, мы ценим высококачественные, подробные и точные отчёты о проблемах. Чтобы сделать общение более эффективным, мы надеемся, что все смогут искать ваши проблемы в списке поиска. Если вы найдёте его, добавьте свои подробные сведения в комментарии существующих проблем, вместо того чтобы создавать новую проблему.
Чтобы сделать детали проблемы как можно более стандартными, мы предоставляем шаблон проблемы для составителей отчётов. Пожалуйста, обязательно заполните поля в шаблоне.
Вы можете создать новый вопрос в следующих случаях:
Кроме того, мы должны напомнить вам, что при заполнении нового вопроса, пожалуйста, помните, чтобы удалить конфиденциальные данные из вашего сообщения. Конфиденциальные данные могут включать пароли, ключи, сетевые местоположения, личные бизнес-данные и т. д.
Вклад кода и документации
Поощряйте любые действия, которые делают проект Seata лучше. На GitHub каждое улучшение Seata может быть реализовано через PR (сокращение от Pull Request).
На самом деле невозможно перечислить все сценарии. Но помните один принцип:
Мы ожидаем любого вашего PR.
Теперь вы готовы улучшить Seata через PR, и мы предлагаем вам взглянуть на правила PR ниже.
Для создания PR мы предполагаем, что у вас уже есть учётная запись GitHub. Затем вы можете выполнить следующие шаги для подготовки:
FORK Seata в свой репозиторий. Для выполнения этой работы вам нужно только нажать кнопку Fork на главной странице apache/incubator-seata справа. Затем вы получите адрес проекта с путём вашего репозитория: https://github.com/<your-username>/incubator-seata
, где your-username — это ваше имя пользователя GitHub.
Клонируйте свой собственный репозиторий для локальной разработки. Используйте git clone git@github.com:/incubator-seata.git, чтобы клонировать репозиторий на локальный компьютер. Затем вы можете создать новую ветку для выполнения желаемых изменений.
Установите удалённый доступ, чтобы установить upstream на git@github.com:apache/incubator-seata.git. Используйте следующие две команды:
git remote add upstream git@github.com:apache/incubator-seata.git
git remote set-url --push upstream no-pushing
Используя этот удалённый доступ, вы можете проверить конфигурацию git следующим образом:
$ git remote -v
origin git@github.com:<your-username>/incubator-seata.git (fetch)
origin git@github.com:<your-username>/incubator-seата.git (push)
upstream git@github.com:apache/incubator-seata.git (fetch)
upstream no-pushing (push)
Добавив это, мы можем легко синхронизировать локальную ветку с веткой upstream.
Теперь мы предполагаем, что каждый вклад через PR предназначен для ветки разработки в Seata. Перед внесением вклада определение ветки может быть полезным.
Как вкладчик, пожалуйста, ещё раз запомните, что каждый вклад через PR предназначен для ветки разработки. В проекте Seata есть несколько других веток, обычно называемых release branch (например, 0.6.0, 0.6.1), feature branch, hotfix branch и master branch.
Когда официально выпущена версия, будет создана ветка выпуска с именем версии.
После выпуска мы объединим фиксацию ветки выпуска в основную ветку.
Когда мы обнаружим ошибку в определённой версии, мы решим исправить её в будущих версиях или в конкретной ветке hotfix. Когда мы решаем исправить ошибку в ветке hotfix, мы создадим ветку hotfix из соответствующей ветки release, исправим и проверим код, а затем объединим его в ветки разработки и master.
Мы создадим функциональную ветку для разработки и проверки относительно больших функций.
Фактически, в Seata мы серьёзно относимся к двум правилам при фиксации:
Сообщения фиксации могут помочь рецензентам лучше понять цель фиксации PR. Они также могут ускорить процесс проверки кода. Мы поощряем вкладчиков использовать явные сообщения фиксации, а не расплывчатые сообщения. Как правило, мы рекомендуем следующие типы сообщений фиксации:
С другой стороны, мы не поощряем вкладчиков отправлять сообщения фиксации следующими способами:
Если вы не знаете, как это сделать, обратитесь к Как написать сообщение фиксации Git в качестве начала.
Содержимое фиксации представляет все изменения, содержащиеся в одной фиксации. Лучше всего включить содержимое, которое может поддерживаться рецензентом для полного обзора без какой-либо дополнительной фиксации. Другими словами, содержимое фиксации может пройти проверку CI, чтобы избежать беспорядка в коде. Короче говоря, нам нужно помнить три небольших правила:
git config --get user.name
git config --get user.email
Кроме того, в части кода мы рекомендуем всем вкладчикам прочитать [стиль кода Seata](#стиль кода).
Независимо от сообщений фиксации или содержимого фиксации, мы уделяем больше внимания проверке кода.
PR — единственный способ изменить файлы проекта Seata. Чтобы помочь рецензентам лучше понять вашу цель, описание PR не должно быть слишком подробным. Мы рекомендуем вкладчикам следовать шаблону PR, чтобы завершить PR. Функциональное тестирование является высокоприоритетным.
Для модульного тестирования необходимо создать тестовый файл с именем xxxTest.java в каталоге test того же модуля. Рекомендуется использовать фреймворк junit5 UT.
Для интеграционного тестирования интеграционное тестирование можно разместить в каталоге test или в модуле seata-test. Рекомендуется использовать тестовый фреймворк mockito.
Мы выбрали GitHub в качестве основного места для сотрудничества по Seata. Поэтому все последние обновления Seata всегда доступны здесь. Хотя внесение вклада через PR — это очевидный способ помочь, мы также призываем к другим способам участия:
Стиль кода Seata соответствует стандартам кодирования Alibaba Java.
Руководство по кодированию Alibaba Java
Нет необходимости устанавливать, но может помочь обнаруживать проблемы во время кодирования.
В общем, любая помощь считается вкладом.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )