Harness Open Source est une plate-forme de développement open source remplie de puissance de l'hébergement de code, de pipelines DevOps automatisés, d'environnements de développement hébergés (Gitspaces) et de registres d'artefacts.
Harness Open Source est une plate-forme de développement open source remplie de puissance de l'hébergement de code, de pipelines DevOps automatisés, de gitspaces et de registres d'artefacts.
La dernière image Docker publiée publique se trouve sur le harnais / harnais.
Pour installer le harnais vous-même, exécutez simplement la commande ci-dessous. Une fois le conteneur en place, vous pouvez visiter http: // localhost: 3000 dans votre navigateur.
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/harnessL'image de harnais utilise un volume pour stocker la base de données et les référentiels. Il est fortement recommandé d'utiliser un support de liaison ou un volume nommé car, sinon toutes les données seront perdues une fois le conteneur arrêté.
Voir Developer.Harness.io pour apprendre à tirer le meilleur parti du harnais.
HARNESS Open Source représente un investissement massif dans la prochaine génération de drones. Lorsque le drone s'est concentré uniquement sur l'intégration continue, Harness ajoute l'hébergement de code source, les environnements de développeurs (Gitspaces) et les registres d'artefacts; Fournir aux équipes une plateforme DevOps open source de bout en bout.
L'objectif est que le harnais soit éventuellement à pleine parité avec le drone en termes de capacités de pipeline, permettant aux utilisateurs de migrer de manière transparente du drone vers le harnais.
Mais, nous nous attendons à ce que cela prenne un certain temps, c'est pourquoi nous avons pris un instantané de drone en tant que drone de branche de fonctionnalité (Readme) afin qu'il puisse continuer le développement.
Quant au harnais, le développement se déroule sur la branche principale.
Pour plus d'informations sur le harnais, veuillez visiter Developer.Harness.io.
Pour plus d'informations sur Drone, veuillez visiter Drone.io.
Installez la dernière version stable de Node et GO version 1.20 ou supérieur, puis installez les programmes GO ci-dessous. Assurez-vous que le répertoire de Gopath Bin est ajouté à votre chemin.
Installer Protobuf
protoc --versionbrew unlink protobufcurl -s https://raw.githubusercontent.com/Homebrew/homebrew-core/9de8de7a533609ebfded833480c1f7c05a3448cb/Formula/protobuf.rb > /tmp/protobuf.rbbrew install /tmp/protobuf.rbprotoc --versionInstallez Protoc-Gen-Go et Protoc-Gen-Go-RPC:
Installez ProtoC-Gen-Go V1.28.1 go install google.golang.org/protobuf/cmd/[email protected] (notez que cela installera un binaire dans $ gobin, alors assurez-vous que $ gobin est dans votre chemin)
Installez ProtoC-Gen-Go-grpc V1.2.0 go install google.golang.org/grpc/cmd/[email protected]
$ make dep
$ make toolsLa première étape consiste à créer les artefacts de l'interface utilisateur:
$ pushd web
$ yarn install
$ yarn build
$ popdAprès cela, vous pouvez construire le binaire du harnais:
$ make buildCe projet prend en charge tous les systèmes et architectures d'exploitation pris en charge par Go. Cela signifie que vous pouvez construire et exécuter le système sur votre machine; Les conteneurs Docker ne sont pas requis pour le développement et les tests locaux.
Pour démarrer le serveur sur localhost:3000 , exécutez simplement la commande suivante:
./gitness server .local.envVeuillez vous assurer de mettre à jour le code client automatique utilisé par l'interface utilisateur lors de l'ajout de nouvelles API REST.
Pour régénérer le code, veuillez exécuter les étapes suivantes:
./gitness swagger > web/src/services/code/swagger.yamlweb et exécutez yarn services Les dernières modifications de l'API devraient désormais être reflétées dans web/src/services/code/index.tsx
make conformance-test
Pour exécuter des tests de conformité avec le service de course existant, utilisez:
make hot-conformance-test
Ce projet comprend une interface utilisateur complète pour interagir avec le système. Lorsque vous exécutez l'application, vous pouvez accéder à l'interface utilisateur en naviguant vers http://localhost:3000 dans votre navigateur.
Ce projet comprend une spécification Swagger. Lorsque vous exécutez l'application, vous pouvez accéder à la spécification Swagger en naviguant vers http://localhost:3000/swagger dans votre navigateur (pour brut yaml voir http://localhost:3000/openapi.yaml ). Pour les points de terminaison du registre, actuellement Swagger est situé sur différents points de terminaison http://localhost:3000/registry/swagger/ (pour brut json voir http://localhost:3000/registry/swagger.json ). Ceux-ci seront ensuite déplacés vers le point de terminaison principal de Swagger.
Pour les tests, il est le plus simple d'utiliser simplement la CLI pour créer un jeton (cela nécessite un serveur de harnais pour s'exécuter):
# LOGIN (user: admin, pw: changeit)
$ ./gitness login
# GENERATE PAT (1 YEAR VALIDITY)
$ ./gitness user pat " my-pat-uid " 2592000 La commande publie un PAT valide qui a obtenu un accès complet en tant qu'utilisateur. Le jeton peut ensuite être envoyé dans le cadre de l'en-tête Authorization avec Postman ou Curl:
$ curl http://localhost:3000/api/v1/user
-H " Authorization: Bearer $TOKEN " Ce projet comprend des outils de ligne de commande très basiques pour le développement et l'exécution du service. N'oubliez pas que vous devez démarrer le serveur avant de pouvoir exécuter des commandes.
Pour une liste complète des opérations prises en charge, veuillez consulter
$ ./gitness --helpReportez-vous à contribution.md
Licence Apache 2.0, voir Licence.