Kern Open Source ist eine Open -Source -Entwicklungsplattform, die mit der Leistung von Code -Hosting, automatisierten DevOps -Pipelines, gehosteten Entwicklungsumgebungen (Gitspaces) und Artefaktregistern gepackt ist.
Kern Open Source ist eine Open -Source -Entwicklungsplattform, die mit der Leistung von Code -Hosting, automatisierten DevOps -Pipelines, Gitspaces und Artefaktregistern gepackt ist.
Das neueste öffentlich veröffentlichte Docker -Image finden Sie im Geschirr/Geschirr.
Um das Geschirr selbst zu installieren, führen Sie einfach den Befehl unten aus. Sobald der Container abgelaufen ist, können Sie http: // localhost: 3000 in Ihrem Browser besuchen.
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/harnessDas Kabelbaumbild verwendet ein Volumen, um die Datenbank und Repositorys zu speichern. Es wird dringend empfohlen, ein Bindmontage oder ein benanntes Volumen zu verwenden, da sonst alle Daten verloren gehen, sobald der Container gestoppt ist.
Siehe Entwickler.harness.io, um zu lernen, wie man das Beste aus dem Geschirr herausholt.
Gurt Open Source stellt eine massive Investition in die nächste Generation von Drohnen dar. Wo sich die Drohnen ausschließlich auf die kontinuierliche Integration konzentriert, fügt Kabelbaum Quellcode -Hosting, Entwicklerumgebungen (Gitspaces) und Artefaktregister hinzu. Bereitstellung von Teams mit einer End-to-End-Open-Source-DevOps-Plattform.
Das Ziel ist es, dass das Geschirr in Bezug auf Pipeline -Funktionen schließlich mit der Drohne in voller Parität steht und den Benutzern es ermöglicht, nahtlos von Drohnen zu Geschirr zu migrieren.
Wir erwarten jedoch, dass dies einige Zeit in Anspruch nehmen wird, weshalb wir eine Momentaufnahme der Drohne als Feature Branch Drone (Readme) gemacht haben, damit sie weiterentwickelt werden kann.
Was den Kabelbaum betrifft, findet die Entwicklung im Hauptzweig statt.
Weitere Informationen zum Kabelbaum finden Sie unter Entwickler.harness.io.
Weitere Informationen zu Drohnen finden Sie in Drone.io.
Installieren Sie die neueste stabile Version von Node und Go Version 1.20 oder höher und installieren Sie dann die folgenden GO -Programme. Stellen Sie sicher, dass das Gopath -Bin -Verzeichnis Ihrem Weg hinzugefügt wird.
Protobuf einbauen
protoc --version installiert habenbrew unlink protobuf auscurl -s https://raw.githubusercontent.com/Homebrew/homebrew-core/9de8de7a533609ebfded833480c1f7c05a3448cb/Formula/protobuf.rb > /tmp/protobuf.rbbrew install /tmp/protobuf.rbprotoc --version anInstallieren Sie Protoc-Gen-Go und Protoc-Gen-Go-RPC:
Installieren Sie Protoc-Gen-go v1.28.1 go install google.golang.org/protobuf/cmd/[email protected] (beachten
Installieren Sie Protoc-Gen-go-GRPC v1.2.0 go install google.golang.org/grpc/cmd/[email protected]
$ make dep
$ make toolsDer erste Schritt besteht darin, die Artefakte der Benutzeroberfläche zu erstellen:
$ pushd web
$ yarn install
$ yarn build
$ popdDanach können Sie die Binärdatei bauen:
$ make buildDieses Projekt unterstützt alle Betriebssysteme und Architekturen, die von Go unterstützt werden. Dies bedeutet, dass Sie das System auf Ihrer Maschine erstellen und ausführen können. Docker -Container sind für die lokale Entwicklung und Tests nicht erforderlich.
Führen Sie einfach den folgenden Befehl aus, um den Server bei localhost:3000 zu starten:
./gitness server .local.envBitte stellen Sie sicher, dass Sie den autogenerierten Client -Code aktualisieren, der von der Benutzeroberfläche beim Hinzufügen neuer REST -APIs verwendet wird.
Um den Code zu regenerieren, führen Sie bitte die folgenden Schritte aus:
./gitness swagger > web/src/services/code/swagger.yamlweb und führen Sie yarn services aus Die neuesten API -Änderungen sollten nun in web/src/services/code/index.tsx reflektiert werden
make conformance-test
Um Konformitätstests mit vorhandenem laufendem Service auszuführen, verwenden Sie:
make hot-conformance-test
Dieses Projekt enthält eine vollständige Benutzeroberfläche für die Interaktion mit dem System. Wenn Sie die Anwendung ausführen, können Sie auf die Benutzeroberfläche zugreifen, indem Sie zu http://localhost:3000 in Ihrem Browser navigieren.
Dieses Projekt beinhaltet eine Swagger -Spezifikation. Wenn Sie die Anwendung ausführen, können Sie auf die Swagger -Spezifikation zugreifen, indem Sie zu http://localhost:3000/swagger in Ihrem Browser navigieren (für rohe yaml siehe http://localhost:3000/openapi.yaml ). Für Registrierungsendpunkte befindet sich derzeit Swagger auf verschiedenen Endpunkten http://localhost:3000/registry/swagger/ (für Raw JSON siehe http://localhost:3000/registry/swagger.json ). Diese werden später zum Hauptendpunkt der Prahlerei verschoben.
Für das Testen ist es am einfachsten, nur die CLI zu verwenden, um ein Token zu erstellen (dies erfordert, dass der Kabelbaumserver ausgeführt wird):
# LOGIN (user: admin, pw: changeit)
$ ./gitness login
# GENERATE PAT (1 YEAR VALIDITY)
$ ./gitness user pat " my-pat-uid " 2592000 Der Befehl gibt einen gültigen Pat aus, der als Benutzer vollen Zugriff gewährt hat. Das Token kann dann als Teil des Authorization mit Postboten oder Curl gesendet werden:
$ curl http://localhost:3000/api/v1/user
-H " Authorization: Bearer $TOKEN " Dieses Projekt enthält sehr grundlegende Befehlszeilen -Tools für die Entwicklung und das Ausführen des Dienstes. Bitte denken Sie daran, dass Sie den Server starten müssen, bevor Sie Befehle ausführen können.
Eine vollständige Liste der unterstützten Operationen finden Sie unter
$ ./gitness --helpSiehe beitragen.md
Apache -Lizenz 2.0, siehe Lizenz.