À propos du projet
Harness Open Source est une plateforme de développement open-source qui regroupe plusieurs capacités DevOps dans un seul service auto-hébergeable. Selon son README, elle fournit l'hébergement de code source, des pipelines CI/CD automatisés, des environnements de développement hébergés appelés Gitspaces et des registres d'artefacts.
Le déploiement est simple : une seule commande docker run démarre le conteneur, exposant le port 3000 pour l'interface web et le port 3022 pour Git via SSH, en montant le socket Docker et un volume de données. Le README avertit que la base de données et les dépôts se trouvent dans ce volume, il faut donc utiliser un bind mount ou un volume nommé pour éviter la perte de données lors de l'arrêt du conteneur. Une interface web est disponible sur localhost:3000, et une spécification Swagger est servie sur /swagger (YAML brut sur /openapi.yaml), avec les points d'entrée du registre documentés séparément sur /registry/swagger/.
Harness Open Source est positionné comme le successeur de Drone. Le README indique que Drone se concentrait uniquement sur l'intégration continue, tandis que Harness ajoute l'hébergement de code, les environnements de développement et les registres d'artefacts, visant une parité complète des pipelines pour permettre aux utilisateurs de migrer depuis Drone. Un instantané de Drone est préservé sous forme de branche de fonctionnalité pour un développement continu, tandis que le développement de Harness se fait sur la branche principale.
Pour le développement local, le projet nécessite Node, Go 1.20 ou supérieur, protobuf v3.21.11, protoc-gen-go v1.28.1 et protoc-gen-go-grpc v1.2.0. Les étapes de construction consistent à installer et construire l'interface web avec yarn, puis à construire le binaire avec make. Le serveur peut être démarré avec ./gitness server .local.env. Les pipelines s'exécutent dans des conteneurs Docker ; l'application négocie automatiquement la version de l'API Docker, et le README documente les emplacements des sockets pour Docker Desktop, Rancher Desktop, Colima et Docker natif Linux, ainsi que les variables d'environnement GITNESS_DOCKER_HOST et GITNESS_DOCKER_API_VERSION pour les configurations personnalisées.
Une CLI est incluse pour les opérations de développement et de service de base, y compris la connexion et la génération de jetons d'accès personnels, qui peuvent ensuite être utilisés comme jeton Bearer contre l'API REST. Le README mentionne également la régénération du client API de l'interface web depuis Swagger et l'exécution de tests de conformité du registre via des cibles make. Le projet est sous licence Apache 2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.