Harness Open Source - это платформа разработки с открытым исходным кодом, заполненную мощностью хостинга кода, автоматизированных трубопроводов DevOps, размещенных среде разработки (GITSPACES) и реестров артефактов.
Harness Open Source - это платформа разработки с открытым исходным кодом, заполненную мощностью хостинга кода, автоматизированных трубопроводов DevOps, Gitspaces и реестров артефактов.
Последнее публично выпущенное изображение Docker можно найти на жгуте/жгуте.
Чтобы установить жгут самостоятельно, просто запустите команду ниже. Как только контейнер встанет, вы можете посетить http: // localhost: 3000 в вашем браузере.
docker run -d
-p 3000:3000
-p 22:22
-v /var/run/docker.sock:/var/run/docker.sock
-v /tmp/harness:/data
--name harness
--restart always
harness/harnessИзображение жгута использует том для хранения базы данных и репозиториев. Настоятельно рекомендуется использовать крепление привязки или названный объем, так как в противном случае все данные будут потеряны после остановки контейнера.
См. Developer.harness.io, чтобы узнать, как получить максимальную отдачу от жгута.
Harness с открытым исходным кодом представляет собой массовые инвестиции в следующее поколение беспилотников. В тех случаях, когда беспилотники сосредоточены исключительно на непрерывной интеграции, Harness добавляет хостинг исходного кода, среды разработчиков (GITSPACES) и реестры артефактов; Предоставление командам сквозной платформы DevOps с открытым исходным кодом.
Цель состоит в том, чтобы Harness в конечном итоге находился в полном паритете с беспилотником с точки зрения возможностей трубопровода, что позволяет пользователям плавно мигрировать с беспилотника в запряжение.
Но мы ожидаем, что это займет некоторое время, поэтому мы сделали снимок беспилотника в качестве функционального ветви беспилотника (readme), чтобы он мог продолжить разработку.
Что касается жгута, развитие происходит в основной ветви.
Для получения дополнительной информации о жгуте, пожалуйста, посетите developer.harness.io.
Для получения дополнительной информации о беспилотнике, пожалуйста, посетите Drone.io.
Установите последнюю стабильную версию Node и GO версии 1.20 или выше, а затем установите программы ниже. Убедитесь, что каталог GoPath Bin добавлен на ваш путь.
Установите Protobuf
protoc --versionbrew unlink protobufcurl -s https://raw.githubusercontent.com/Homebrew/homebrew-core/9de8de7a533609ebfded833480c1f7c05a3448cb/Formula/protobuf.rb > /tmp/protobuf.rbbrew install /tmp/protobuf.rbprotoc --versionУстановите Protoc-Gen-Go и Protoc-Gen-GO-RPC:
Установите Protoc-gen-go v1.28.1 go install google.golang.org/protobuf/cmd/[email protected] (обратите внимание, что это установит бинар в $ gobin, поэтому убедитесь, что $ gobin находится в вашем пути $)
Установите Protoc-Gen-GO-GRPC v1.2.0 go install google.golang.org/grpc/cmd/[email protected]
$ make dep
$ make toolsПервый шаг - создать артефакты пользовательского интерфейса:
$ pushd web
$ yarn install
$ yarn build
$ popdПосле этого вы можете построить двоичный жгут:
$ make buildЭтот проект поддерживает все операционные системы и архитектуры, поддерживаемые GO. Это означает, что вы можете построить и запустить систему на своей машине; Контейнеры Docker не требуются для локальной разработки и тестирования.
Чтобы запустить сервер по адресу localhost:3000 , просто запустите следующую команду:
./gitness server .local.envПожалуйста, не забудьте обновить автоматический клиент -код, используемый пользовательским интерфейсом при добавлении новых API REST.
Чтобы восстановить код, выполните следующие шаги:
./gitness swagger > web/src/services/code/swagger.yamlweb -папке и запустите yarn services Последние изменения API теперь должны быть отражены в web/src/services/code/index.tsx
make conformance-test
Для выполнения соответствия тестов с существующей рабочей службой, используйте:
make hot-conformance-test
Этот проект включает в себя полный пользовательский интерфейс для взаимодействия с системой. Когда вы запускаете приложение, вы можете получить доступ к пользовательскому интерфейсу, перейдя по http://localhost:3000 в вашем браузере.
Этот проект включает спецификацию чванства. Когда вы запускаете приложение, вы можете получить доступ к спецификации Swagger, перейдя к http://localhost:3000/swagger в вашем браузере (для Raw Yaml см http://localhost:3000/openapi.yaml ). Для конечных точек реестра в настоящее время Swagger находится в разных конечных точках http://localhost:3000/registry/swagger/ (для Raw Json см http://localhost:3000/registry/swagger.json ). Позже они будут перемещены в главную конечную точку чванства.
Для тестирования проще всего использовать CLI для создания токена (это требует сервера жгута для запуска):
# LOGIN (user: admin, pw: changeit)
$ ./gitness login
# GENERATE PAT (1 YEAR VALIDITY)
$ ./gitness user pat " my-pat-uid " 2592000 Команда выводит действительный PAT, который был предоставлен полный доступ в качестве пользователя. Токен можно отправить в рамках заголовка Authorization с почтальником или скручиванием:
$ curl http://localhost:3000/api/v1/user
-H " Authorization: Bearer $TOKEN " Этот проект включает в себя очень основные инструменты командной строки для разработки и запуска сервиса. Пожалуйста, помните, что вы должны запустить сервер, прежде чем вы сможете выполнить команды.
Полный список поддерживаемых операций, см.
$ ./gitness --helpСм. Appling.md
Apache License 2.0, см. Лицензию.