Harness Open Source es una plataforma de desarrollo de código abierto repleta de la potencia del alojamiento de códigos, las tuberías de DevOps automatizadas, los entornos de desarrollo alojados (espacios Gits) y los registros de artefactos.
Harness Open Source es una plataforma de desarrollo de código abierto repleta de la potencia del alojamiento de códigos, las tuberías de DevOps automatizadas, los espacios de gits y los registros de artefactos.
La última imagen de Docker publicada públicamente se puede encontrar en el arnés/arnés.
Para instalar el arnés usted mismo, simplemente ejecute el comando a continuación. Una vez que el contenedor está arriba, puede visitar http: // localhost: 3000 en su navegador.
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/harnessLa imagen del arnés utiliza un volumen para almacenar la base de datos y los repositorios. Se recomienda usar un montaje de enlace o volumen nombrado, ya que de lo contrario todos los datos se perderán una vez que se detenga el contenedor.
Vea Developer.harness.io para aprender a aprovechar al máximo el arnés.
El código abierto del arnés representa una inversión masiva en la próxima generación de drones. Donde Drone se centró únicamente en la integración continua, Harness agrega alojamiento de código fuente, entornos de desarrolladores (espacios Gits) y registros de artefactos; Proporcionar a los equipos una plataforma DevOps de código abierto de extremo a extremo.
El objetivo es que el arnés eventualmente esté a plena paridad con el dron en términos de capacidades de tuberías, lo que permite a los usuarios migrar sin problemas de dron a arnés.
Pero, esperamos que esto tome un tiempo, por lo que tomamos una instantánea de drones como un dron de rama de características (README) para que pueda continuar el desarrollo.
En cuanto al arnés, el desarrollo se lleva a cabo en la rama principal.
Para obtener más información sobre el arnés, visite desarrollador.harness.io.
Para obtener más información sobre Drone, visite Drone.io.
Instale la última versión estable de Node y Go Versión 1.20 o superior, y luego instale los siguientes programas GO. Asegúrese de que el directorio de Gopath Bin se agregue a su ruta.
Instalar ProtoBuf
protoc --versionbrew unlink protobufcurl -s https://raw.githubusercontent.com/Homebrew/homebrew-core/9de8de7a533609ebfded833480c1f7c05a3448cb/Formula/protobuf.rb > /tmp/protobuf.rbbrew install /tmp/protobuf.rbprotoc --versionInstalar Protoc-gen-go y protoc-gen-go-rpc:
Instale Protoc-Gen-go v1.28.1 go install google.golang.org/protobuf/cmd/[email protected] (tenga en cuenta que esto instalará un binario en $ Gobin, así que asegúrese de que $ Gobin esté en su ruta $)
Instale Protoc-Gen-go-GRPC V1.2.0 go install google.golang.org/grpc/cmd/[email protected]
$ make dep
$ make toolsEl primer paso es crear artefactos de la interfaz de usuario:
$ pushd web
$ yarn install
$ yarn build
$ popdDespués de eso, puedes construir el arnés binario:
$ make buildEste proyecto admite todos los sistemas operativos y arquitecturas compatibles con GO. Esto significa que puede construir y ejecutar el sistema en su máquina; Los contenedores Docker no son necesarios para el desarrollo y las pruebas locales.
Para iniciar el servidor en localhost:3000 , simplemente ejecute el siguiente comando:
./gitness server .local.envAsegúrese de actualizar el código de cliente autogenerado utilizado por la interfaz de usuario al agregar nuevas API REST.
Para regenerar el código, ejecute los siguientes pasos:
./gitness swagger > web/src/services/code/swagger.yamlweb y ejecute yarn services Los últimos cambios de API ahora deben reflejarse en web/src/services/code/index.tsx
make conformance-test
Para ejecutar pruebas de conformidad con el servicio de ejecución existente, use:
make hot-conformance-test
Este proyecto incluye una interfaz de usuario completa para interactuar con el sistema. Cuando ejecuta la aplicación, puede acceder a la interfaz de usuario navegando a http://localhost:3000 en su navegador.
Este proyecto incluye una especificación de arrogancia. Cuando ejecuta la aplicación, puede acceder a la especificación Swagger navegando a http://localhost:3000/swagger en su navegador (para yaml crudo ver http://localhost:3000/openapi.yaml ). Para los puntos finales de registro, actualmente Swagger se encuentra en un punto final diferente http://localhost:3000/registry/swagger/ (para json crudo ver http://localhost:3000/registry/swagger.json ). Más tarde se trasladarán al punto final de arrogancia principal.
Para las pruebas, es más simple usar la CLI para crear un token (esto requiere un servidor de arneses para ejecutar):
# LOGIN (user: admin, pw: changeit)
$ ./gitness login
# GENERATE PAT (1 YEAR VALIDITY)
$ ./gitness user pat " my-pat-uid " 2592000 El comando genera una PAT válida que se le ha otorgado el acceso completo como usuario. El token puede enviarse como parte del encabezado Authorization con Postman o Curl:
$ curl http://localhost:3000/api/v1/user
-H " Authorization: Bearer $TOKEN " Este proyecto incluye herramientas de línea de comandos muy básicas para el desarrollo y la ejecución del servicio. Recuerde que debe iniciar el servidor antes de poder ejecutar comandos.
Para obtener una lista completa de operaciones compatibles, consulte
$ ./gitness --helpConsulte Contribuir.md
Licencia de Apache 2.0, ver licencia.