Документ описывает, как создать среду разработки для Calico, а также как собрать и протестировать код разработки.
Этот руководство разделён на следующие основные разделы:
Дополнительные документы для разработчиков можно найти в hack/docs.
Эти инструкции по сборке предполагают наличие Linux-среды разработки со следующими компонентами:
Чтобы собрать всё Calico, выполните следующую команду из корневой директории репозитория.
make image DEV_REGISTRY=my-registry
Это создаст несколько образов Docker, каждый помеченный указанным регистром.
Чтобы собрать только один образ, вы можете запустить ту же команду в определенной поддиректории.
Например, чтобы собрать calico/node
, выполните следующее:
make -C node image
По умолчанию образы будут созданы для архитектуры машины сборки. Чтобы скрестить компиляцию, передайте переменную окружения ARCH
. Например, чтобы
собрать для arm64
, выполните следующее:
make image ARCH=arm64
make dev-manifests
Сборка использует кэш пакетов Go и локальный кэш vendoring для увеличения скорости сборки. Для выполнения чистой сборки используйте цель dev-clean
.
make dev-clean dev-image
Вот стандартные цели Makefile
, присутствующие во всех проектных директориях.
make build
: собирает бинарник для текущей архитектуры. Обычно будет находиться в bin/
или dist/
и назван NAME-ARCH
, например felix-arm64
или typha-amd64
. Если доступно несколько операционных систем, то название будет NAME-OS-ARCH
, например calicoctl-darwin-amd64
.make build ARCH=<ARCH>
: собирает бинарник для указанной ARCH
. Выходной бинарник будет находиться в bin/
или dist/
и будет назван согласно вышеупомянутому конвенции.make build-all
: собирает бинарники для всех поддерживаемых архитектур. Выходные бинарники будут находиться в bin/
или dist/
и будут названы согласно вышеупомянутому конвенции.make image
: создаёт образ Docker для текущей архитектуры. Он будет назван NAME:latest-ARCH
, например calico/felix:latest-amd64
или calico/typha:latest-s390x
. Если доступно несколько операционных систем, имя будет NAME:latest-OS-ARCH
, например calico/ctl:latest-linux-ppc64le
make image ARCH=<ARCH>
: создаёт образ Docker для указанной ARCH
. Образы будут названы согласно вышеупомянутому конвенции.make image-all
: создаёт образы Docker для всех поддерживаемых архитектур. Образы будут названы согласно вышеупомянутому конвенции в make image
.make test
: выполняет все тестыmake ci
: выполняет все шаги CI для сборки и тестирования, вероятно, другие цели. ПРЕДУПРЕЖДЕНИЕ: не рекомендуется выполнять make ci
локально, так как действия, которые он выполняет, могут быть разрушительными.make cd
: выполняет все шаги CD, обычно отправляет образы в реестры. ПРЕДУПРЕЖДЕНИЕ: не рекомендуется выполнять make cd
локально, так как действия, которые он выполняет, могут быть разрушительными, например, отправка образов. Для вашей безопасности это будет работать только если вы выполните make cd CONFIRM=true
, что должно быть выполнено только правильной системой CI.Каждая директория имеет свой набор автоматизированных тестов, которые живут внутри дерева и могут быть запущены без необходимости развертывания полной системы Kubernetes. Самый простой способ запустить тесты — это отправить pull request с вашими изменениями, что активирует сборку на системе CI.
Если вы хотите запустить их локально, мы рекомендуем запускать каждое тестовое множество отдельно, поскольку запуск тестов для всего кодового базиса может занять очень долгое время. Используйте цель test
в определенной директории, чтобы запустить тесты этой директории.
make test
Для информации о том, как запустить подмножество тестов одной директории, обратитесь к документации и Makefile в этой директории.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )