Документ поможет вам приступить к разработке OpenPitrix и освоить рабочий процесс.
Разработка OpenPitrix выполнена на Go. Если у вас нет среды разработки Go, пожалуйста, настройте её, Go требует версию >= 1.12
.
Советы:
- Убедитесь, что ваш GOPATH и PATH были настроены в соответствии с инструкциями по работе с Go.
- Рекомендуется установить GNU-инструменты для macOS для macOS.
OpenPitrix использует dep
для управления зависимостями в дереве vendor/
, выполните следующую команду для установки dep:
go get -u github.com/golang/dep/cmd/dep
В ходе разработки рекомендуется установить одноузловой all-in-one окружение (основанное на Kubernetes) для быстрого тестирования.
Совет: Также поддерживаются Docker для Desktop со встроенным Kubernetes как тестовым окружением.
Fork
, чтобы создать облачный форк.Согласно [инструкциям Go по рабочим пространствам][https://golang.org/doc/code.html#Workspaces], расположите код OpenPitrix в вашем GOPATH
с помощью следующей процедуры клонирования.1. Определите локальное рабочее пространство:
$ export working_dir=$GOPATH/src/openpitrix.io
$ export user={ваш профиль GitHub}
$ mkdir -p $working_dir
$ cd $working_dir
$ git clone https://github.com/$user/openpitrix.git
$ cd $working_dir/openpitrix
$ git remote add upstream https://github.com/openpitrix/openpitrix.git
# Ни при каких условиях не отправляйте изменения в upstream master
$ git remote set-url --push upstream no_push
# Убедитесь, что ваши удалённые репозитории имеют смысл:
$ git remote -v
git fetch upstream
git checkout master
git rebase upstream/master
Ответвление от основной ветки:
$ git checkout -b myfeature
Затем отредактируйте код в ветке myfeature
.
Запустите и протестируйте
$ make build
$ make compose-up
Выполните make help
, чтобы получить дополнительную информацию о этих целях Make.
Синхронизация с основной веткой
После завершения тестирования рекомендуется поддерживать ваш локальный репозиторий в синхронизации с основной веткой, что поможет избежать конфликтов.
# Перезапишите основную ветку вашего локального репозитория.
$ git checkout master
$ git rebase upstream/master
# Затем приведите вашу ветку разработки в синхронизацию с основной веткой
git checkout new_feature
git rebase -i master
Фиксируйте локальные изменения
$ git add <file>
$ git commit -s -m "Добавьте ваше описание"
```### 6 Отправка в ваш форк
Когда вы готовы к проверке (или просто для создания внешнего резервного копирования ваших работ), отправьте свою ветку в ваш форк на GitHub:
```bash
$ git push -f ${your_remote_name} myfeature
OpenPitrix использует Travis CI как инструмент CI/CD.
Компоненты OpenPitrix, расположенные в папке /cmd
, должны быть скомпилированы и собраны следующими командами:
После того, как ваш запрос на слияние будет принят, Travis CI скомпилирует весь проект и создаст образ, а затем запушит образ openpitrix/[имя компонента]:latest
на DockerHub (например, openpitrix/openpitrix-api-gateway:latest
).
Для справки обратитесь к конвенциям кодирования и следуйте указанным правилам.
Примечание:
- Все новые пакеты и большую часть новых значимых функциональностей следует снабжать юнит-тестами
- Комментируйте свой код на английском языке, см. конвенции комментирования Go
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )