1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-meshery

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CONTRIBUTING.md 23 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 18:23 afeb270

Вклад в проект

Пожалуйста, сделайте это! Спасибо за вашу помощь в улучшении Meshery! :balloon:


Полный набор руководств для участников проекта можно найти по адресу https://docs.meshery.io/project/contributing

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

Всё готово для внесения вклада? Возьмите открытую задачу с меткой help-wanted и приступайте к работе. Присоединяйтесь к нашему каналу Slack и участвуйте в разговоре. Создайте новую задачу, если необходимо. Все запросы на вытягивание должны ссылаться на открытую задачу. Включайте ключевые слова в описания запросов на вытягивание, а также в сообщения о фиксации, чтобы автоматически закрывать связанные задачи в GitHub.

Разделы

Общий процесс участия

Чтобы внести вклад в Meshery, пожалуйста, следуйте описанному здесь процессу разветвления и запроса на вытягивание здесь.

Задачи и запросы на вытягивание

Создание задачи

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

  1. Поищите существующие задачи, прежде чем создавать новую (посмотрите, не была ли задача уже создана).
  2. Если её не существует, создайте новую задачу, предоставив как можно больше контекста (пожалуйста, обратите внимание и выберите правильный тип задачи, например ошибка, документация или функция).
  3. Если вы хотите работать над задачей после того, как она будет рассмотрена, пожалуйста, укажите это в описании задачи.

Работа над задачей

Перед работой над существующей задачей выполните следующие шаги:

  1. Оставьте комментарий с просьбой назначить задачу вам.
  2. Чтобы лучше подготовиться к назначению задач, мы рекомендуем следующее:
    1. Подтвердите, что вы прочитали CONTRIBUTING.md.
    2. Иметь функциональную среду разработки (вы построили и можете запустить проект).
    3. Сообщите о своём подходе к решению проблемы.
    4. Запишите эти пункты в одном или нескольких комментариях.
  3. После того как задача будет назначена вам, вы можете приступить к её выполнению.
  4. Как правило, только приступайте к этой задаче (и открывайте запрос на вытягивание), когда она будет назначена вам. Это предотвратит путаницу, дублирование работы (часть которой может остаться непринятой из-за её дублирования), случайное столкновение интересов и головную боль, связанную с тем, что назначения задач сталкиваются и головы сталкиваются друг с другом.
  5. Укажите задачу в запросе на вытягивание (например, «Этот PR исправляет #123»), чтобы соответствующая задача автоматически закрывалась при слиянии вашего запроса на вытягивание.

Примечания:

  • Проверьте поле «Назначенные» вверху страницы, чтобы увидеть, была ли задача назначена кому-то другому, прежде чем запрашивать назначение вам. Если у задачи есть текущий исполнитель, но она кажется неактивной, вежливо спросите текущего исполнителя, продолжают ли они работать над решением и/или можете ли вы сотрудничать с ними. Только запрос на назначение задачи должен быть сделан, если вы знаете, как над ней работать.
  • Если задача неясна, задайте вопросы, чтобы получить больше ясности, прежде чем просить назначить вам задачу; избегайте вопросов «что мне делать дальше? как это исправить?» (см. пункт выше этой строки).
  • Задачу можно назначить нескольким людям, если все вы согласны сотрудничать над задачей (запрос на извлечение может содержать коммиты от разных участников).
  • Любые задачи, которые не имеют активности через 2 недели, будут сняты с назначения и переназначены кому-то другому.

Обзор запросов на извлечение

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

Что нужно делать

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

Чего делать не следует

  • Не повторяйте обратную связь, это создаёт больше шума, чем ценности (проверьте существующий разговор), используйте реакции GitHub, если вы согласны/не согласны с комментарием.
  • Не одобряйте слепо запросы на извлечение, чтобы улучшить свой график участников GitHub.

Подписание коммитов (сертификат разработчика о происхождении)

Чтобы внести свой вклад в этот проект, вы должны согласиться с сертификатом разработчика о происхождении (DCO) для каждого сделанного вами коммита. DCO — это простое заявление о том, что вы, как участник, имеете законное право вносить свой вклад.

См. файл DCO для полного текста того, с чем вы должны согласиться, и как он работает здесь. Чтобы указать, что вы соглашаетесь с DCO для вкладов, вы просто добавляете строку к каждому из ваших сообщений git commit:

Signed-off-by: Jane Smith <jane.smith@example.com>

В большинстве случаев вы можете добавить этот знак к своему коммиту автоматически с флагом -s или --signoff для git commit. Вы должны использовать своё настоящее имя и доступный адрес электронной почты (извините, никаких псевдонимов или анонимных вкладов). Пример подписания коммита:

$ commit -s -m «моё сообщение о коммите с подписью»

Чтобы убедиться, что все ваши коммиты подписаны, вы можете выбрать добавление этого псевдонима в свой глобальный файл .gitconfig:

~/.gitconfig

[alias]
  amend = commit -s --amend
  cm = commit -s -m
  commit = commit -s

Или вы можете настроить свою IDE, например, Visual Studio Code, чтобы автоматически подписывать коммиты за вас:

Процесс внесения вклада в документацию

Пожалуйста, внесите свой вклад! Документация Meshery использует страницы GitHub для размещения сайта документации. Узнайте больше о структуре документации Meshery. Процесс внесения вклада следует этому потоку:

  1. Создайте форк, если у вас его ещё нет, следуя шагам, описанным здесь.
  2. В локальной копии вашего форка перейдите в папку docs. cd docs
  3. Создайте и извлеките новую ветку для внесения изменений. git checkout -b <my-changes>
  4. Отредактируйте/добавьте документацию. vi <specific page>.md
  5. Добавьте ссылку перенаправления на старую страницу (только когда создаётся новая страница, которая заменяет старую страницу).
  6. Запустите сайт локально, чтобы просмотреть изменения. make docs

Примечание: Из Makefile эта команда фактически запускает $ bundle exec jekyll serve --drafts --livereload --config _config_dev.yml. Если эта команда вызывает ошибки, попробуйте запустить сервер без Livereload с этой командой: $ bundle exec jekyll serve --drafts --config _config_dev.yml*. Просто имейте в виду, что вам придётся вручную перезапустить сервер, чтобы отразить любые изменения, внесённые без Livereload. Существует две конфигурации Jekyll, jekyll serveдля разработки локально иjekyll build`, когда вам нужно создать артефакты сайта для производства.

  1. Внесите изменения, подпишите и отправьте изменения в вашу ветку. Удаленная ветка

git push origin <my-changes>

  1. Откройте запрос на вытягивание (в вашем веб-браузере) против нашего основного репозитория: https://github.com/meshery/meshery.

Альтернативно, LiveReload доступен в качестве опции во время разработки: с jekyll serve --livereload больше не нужно вручную обновлять страницу.

bundle exec jekyll serve --drafts --livereload --incremental --config _config_dev.yml

Процесс внесения вклада в Meshery

Meshery написан на языке Go (Golang) и использует модули Go. Пользовательский интерфейс построен на React и Next.js. Чтобы упростить сборку и упаковку, в основной папке репозитория включен Makefile.

Соответствующие руководства по стилю кодирования — это Комментарии к обзору кода Go и раздел «Форматирование и стиль» в книге Питера Бургона Go: Best Practices for Production Environments.

Обратите внимание: все команды make следует запускать в терминале из основной папки Meshery.

Предварительные условия для сборки Meshery в вашей среде разработки:

  1. Должна быть установлена версия Go 1.21.1, если вы хотите собрать и/или внести изменения в существующий код. Двоичный файл go1.21.1 должен быть доступен на вашем пути. Если вы не хотите нарушать существующую версию Go, следуйте этим инструкциям, чтобы сохранить несколько версий Go в вашей системе.
  2. Переменная среды GOPATH должна быть настроена соответствующим образом.
  3. На вашем компьютере должны быть установлены npm и node, предпочтительно последние версии.
  4. Форкните этот репозиторий (git clone https://github.com/meshery/meshery.git), а затем клонируйте свою разветвленную версию Meshery в вашу среду разработки, предпочтительно вне GOPATH.
  5. golangci-lint должен быть установлен, если вы хотите протестировать код Go, для пользователей MacOS и Linux.

Сборка и запуск сервера Meshery

Прежде чем вы сможете получить доступ к пользовательскому интерфейсу Meshery, вам необходимо установить зависимости пользовательского интерфейса,

make ui-setup

а затем собрать и экспортировать пользовательский интерфейс

make ui-build

Чтобы собрать и запустить сервер Meshery, выполните следующую команду:

make server

Каждый раз, когда вносятся изменения в код Go, вам придется останавливать сервер и снова запускать вышеуказанную команду. Как только сервер Meshery будет запущен, вы сможете получить доступ к Meshery на своем localhost через порт 9081 по адресу http://localhost:9081.

Обратите внимание: если при попытке входа на сервер Meshery вы видите сообщение «Meshery Development Incompatible», выполните следующие действия:

Потенциальное решение:

  • Перейдите в папку meshery в вашей локальной системе, где вы ее клонировали. Выполните:

  • git remote add upstream https://github.com/meshery/meshery

  • git fetch upstream

  • Перезапустите сервер meshery

  • Кроме того, перед перезапуском сервера, если вы хотите получить последние изменения, вы можете сделать: git pull upstream master

Сервер разработки пользовательского интерфейса

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

make ui

После настройки сервера и успешного запуска на порту по умолчанию http://localhost:3000, вы можете перейти к пользовательскому интерфейсу Meshery по адресу http://localhost:3000. Любые изменения пользовательского интерфейса теперь будут автоматически перекомпилироваться и отображаться в браузере.

Для доступа к серверу разработки пользовательского интерфейса Meshery на порту 3000 вам потребуется выбрать облачного провайдера, перейдя на localhost:9081 после запуска сервера Meshery.

Обратите внимание: при запуске make server на платформе macOS некоторые могут столкнуться с ошибками модуля crypto в Go. Это вызвано недействительными заголовками C в Clang, установленном вместе с инструментами платформы XCode. Замена Clang на gcc путем добавления export CC=gcc в .bashrc / .zshrc должна решить проблему. Более подробную информацию о проблеме можно найти... Освой концепции Cobra.

Для работы с конфигурационными файлами mesheryctl использует Viper.

В файле mesheryctl/internal/cli/root/config/config.go поддерживается центральный struct. Эти данные обновляются и должны использоваться для получения конфигурации Meshery.

Для ведения журналов mesheryctl применяет Logrus. Изучение различных уровней логирования по документации будет очень полезным.

mesheryctl работает с golangci-lint. Для проверок линтера обратитесь к нему.

Все участники могут просматривать запросы на включение изменений в mesheryctl, как и в других компонентах Meshery.

Проверки

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

Новички в Git?

Ресурсы: https://lab.github.com и https://try.github.com/.

Лицензия

Этот репозиторий и сайт доступны как открытый исходный код на условиях лицензии Apache 2.0.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-meshery.git
git@api.gitlife.ru:oschina-mirror/mirrors-meshery.git
oschina-mirror
mirrors-meshery
mirrors-meshery
master