Zugang aus Übersee: www.kdjingpai.com
Ctrl + D Lesezeichen für diese Seite

CNB (Cloud Native Build) ist eine von Tencent ins Leben gerufene Cloud-Native-Entwicklerplattform, die auf dem Kernkonzept "Alles ist Code" basiert und Entwicklern helfen soll, Software auf einfachere und leistungsfähigere Weise zu erstellen. Die Plattform definiert und verwaltet den gesamten Prozess von der Entwicklung über die Erstellung bis hin zum Test über eine deklarative YAML-Konfigurationsdatei. CNB ist tief in das Docker-Ökosystem integriert und nutzt die Container-Technologie, um die Konsistenz der Entwicklungs-, Test- und Produktionsumgebungen zu gewährleisten, wodurch die durch unterschiedliche Umgebungen verursachten Probleme grundlegend gelöst werden. Darüber hinaus bietet die Plattform eine Remote-Entwicklungslösung, die auf der "Read-Second-Cloning"-Technologie basiert, mit der eine gut konfigurierte Cloud-Entwicklungsumgebung in Sekundenschnelle gestartet werden kann, was die Entwicklungseffizienz erheblich verbessert.

Funktionsliste

  • Pipeline als CodeDie gesamte Build-Pipeline wird in einer einfachen, leicht verständlichen YAML-Konfigurationsdatei definiert und zur Versionierung in Git eingebunden.
  • Deklarative Build-UmgebungDie explizite Deklaration der für einen Build erforderlichen Docker-Images in einer Konfigurationsdatei stellt sicher, dass jeder Build in einer unverfälschten, konsistenten Umgebung ausgeführt wird.
  • Deklarativer Build-CacheUnterstützung der Cache-Deklaration im Copy-on-Write-Modus in gleichzeitigen Build-Szenarien, um Cache-Lese-/Schreibkonflikte effektiv zu vermeiden und die Build-Effizienz zu verbessern.
  • Docker als AusführungsumgebungAlle Build-Aufgaben werden im angegebenen Docker-Container ausgeführt, wobei der Sandboxing-Mechanismus von Docker genutzt wird, um die Isolierung und Zuverlässigkeit der Aufgabenausführung sicherzustellen.
  • Docker-basiertes Plugin-ÖkosystemAbstrahieren Sie generische Fähigkeiten in Docker-Plugins und verteilen Sie diese über Docker-Image-Repositories, in denen Entwickler verschiedene Build-Fähigkeiten einfach gemeinsam nutzen und wiederverwenden können.
  • Abrufbarer Zugang zu ComputerressourcenErlaubt es Entwicklern, die benötigten CPU-Ressourcen in einer Konfigurationsdatei zu deklarieren, und die Plattform wird dynamisch bis zu 64 Kerne basierend auf der Deklaration zuweisen.
  • Entfernter ArbeitsbereichBietet eine Cloud-basierte Entwicklungsumgebungslösung, die per Mausklick in Sekundenschnelle einen Remote-Arbeitsbereich einrichtet und den Remote-Zugriff für die Codierung unterstützt.
  • Lese-Sekunden-KlonierungstechnologieBasierend auf der OverlayFS-Implementierung können selbst große Code-Repositories von über 100 GB innerhalb von Sekunden geklont werden, so dass Entwickler schnell mit der Programmierung beginnen können.

Hilfe verwenden

Das Herzstück der CNB-Plattform ist die Designphilosophie "Alles ist Code". Fast alles, was ein Benutzer tut, geschieht durch die Bearbeitung einer Konfigurationsdatei im YAML-Format. Diese Datei befindet sich in der Regel im Stammverzeichnis des Code-Repositorys und beschreibt, "was zu tun ist" und "unter welchen Umständen".

Kernkonzept: Profile

Die einfachste Struktur einer Konfigurationsdatei sieht wie folgt aus, die eine Konfigurationsdatei auf demNode.js 20Eine einfache Pipeline, die in der Umgebung läuft, besteht aus drei Schritten: Drucken der Version, Installieren der Abhängigkeiten und Ausführen der Tests.

main:
push:
- docker:
image: node:20
stages:
- node -v
- npm install
- npm test

Nachdem Sie diese Datei in Ihr Git-Repository übertragen haben, wird CNB diese Pipeline automatisch ausführen.

Hauptfunktion Konfigurationsdetails

1. deklarative Build-Umgebung

Sie können für verschiedene Aufgaben unterschiedliche Docker-Umgebungen angeben. cnb zieht automatisch das entsprechende Docker-Image und erstellt einen Container, um Ihre Befehle auszuführen, wenn es zu diesem Schritt kommt. Dadurch wird sichergestellt, dass die Umgebung für jeden Build rein und konsistent ist.

So können Sie beispielsweise die Kompatibilität von Projekten unter verschiedenen Node.js-Versionen in derselben Pipeline testen:

main:
push:
- stages:
- name: "在Node 20环境下运行"
image: node:20
script:
- node -v
- name: "在Node 21环境下运行"
image: node:21
script:
- node -v
  • name: Legen Sie einen lesbaren Namen für den Schritt fest.
  • imageDocker-Image: Geben Sie das Docker-Image an, das zur Ausführung dieses Schritts erforderlich ist.
  • scriptEnthält eine Liste von Befehlen, die ausgeführt werden sollen.

2. deklarative Konstruktion des Caches

Um den Build-Prozess zu beschleunigen, insbesondere bei einem Build-Prozess wienpm installBei einem so zeitaufwändigen Schritt der Installation von Abhängigkeiten ist es wichtig, den Cache zu konfigurieren. Der Cache von CNB ist deklarativ und unterstützt diecopy-on-writeModus, der sich sehr gut für gleichzeitige Szenarien eignet, kann Konflikte beim Lesen und Schreiben im Cache wirksam vermeiden.

main:
push:
- docker:
image: node:20
volumes:
- node_modules:copy-on-write
stages:
- node -v
- npm install
- npm test
  • volumesDeklarieren Sie hier das Verzeichnis oder die Datei, die zwischengespeichert werden soll.
  • node_modules:copy-on-write:: Zeigt eine Änderung dernode_modulesVerzeichnis-aktiviertes Copy-on-Write-Caching. Wenn der Cache nicht vorhanden ist, wird normal geschrieben; wenn der Cache bereits vorhanden ist, wird eine Verknüpfung zum Cache erstellt, und der eigentliche Kopiervorgang erfolgt erst, wenn die Datei geändert wird.

3. die Zuweisung von Hochleistungsressourcen nach Bedarf

Wenn Ihre Build- oder Testaufgaben eine hohe Rechenleistung erfordern (z. B. Kompilierung, Codeanalyse usw.), können Sie bei Bedarf mehr CPU-Ressourcen anfordern.

main:
push:
- runner:
cpus: 64
docker:
image: node:20
stages:
- node -v
- npm install
- npm test
  • runner.cpusHier geben Sie die Anzahl der CPU-Kerne an, die Sie zuweisen möchten (bis zu 64 Kerne). Die Plattform wird Ihre Anfrage dynamisch auf Basis der Ressourcen erfüllen.

4. die Konfiguration von Arbeitsbereichen für die Fernentwicklung

Dies ist eine besondere Funktion von CNB. Sie können eine Remote-Entwicklungsumgebung in einer Konfigurationsdatei definieren. Wenn Sie sie benötigen, startet CNB für Sie in Sekundenschnelle eine Cloud-Entwicklungsumgebung mit vollständigem Code und Abhängigkeiten unter Verwendung der "Read-Second-Cloning"-Technologie.

$:
vscode:
- runner:
cpus: 64
services:
- vscode
docker:
image: node:20
volumes:
- node_modules:copy-on-write
stages:
- npm install
  • $Symbole sind spezifische Bezeichner für entfernte Arbeitsbereiche.
  • Sobald die Konfiguration abgeschlossen ist, klicken Sie auf die Schaltfläche Cloud Native Development für das entsprechende Repository auf der CNB-Plattform, um es zu starten. Die Plattform führt vorab diestagesBefehle (wienpm install), stehen beim Fernzugriff alle Abhängigkeiten bereit, und Sie können sofort mit dem Programmieren beginnen.

Anwendungsszenario

  1. Automatisiertes CI/CD-Fließband
    Konfigurieren Sie automatisierte Build-, Test- und Bereitstellungsprozesse für Projekte. Entwickler pushen den Code einfach in ein Git-Repository, und CNB automatisiert alle nachfolgenden Prozesse, um Codequalität und schnelle Bereitstellung zu gewährleisten.
  2. Einheitliche Team-Entwicklungsumgebung
    Die Remote-Workspace-Funktionalität stellt sicher, dass alle Teammitglieder dieselbe Entwicklungsumgebung verwenden, wodurch das typische Problem "arbeitet auf meinem Computer" vermieden und die Kosten für die Konfiguration der Umgebung für neue Mitglieder des Projekts reduziert werden.
  3. Schnelle Entwicklung und Überprüfung großer Code-Repositories
    Bei Projekten mit großen Codebasen ist die traditionellegit cloneDas kann Dutzende von Minuten oder mehr dauern. Mit der CNB-Technologie des sekundenschnellen Klonens können Entwickler und Prüfer Code abrufen und eine vollständige Umgebung in Sekundenschnelle starten, was die Effizienz der Codeprüfung und der Zweigentwicklung erheblich verbessert.
  4. Erstellen von Aufgaben, die eine hohe Rechenleistung erfordern
    Für Projekte, die große Mengen an Rechenressourcen erfordern, wie z. B. C++-Kompilierung, umfangreiche Datenverarbeitung oder komplexe End-to-End-Tests, können Sie über das CNB HPC-Knoten auf Abruf beantragen und diese bei Bedarf nutzen, um Kosten zu sparen.

QA

  1. Was für eine Art von Plattform ist CNB?
    CNB (Cloud Native Build) ist eine Cloud Native Build-Plattform für Entwickler, die von Tencent Cloud eingeführt wurde. Sie hilft Entwicklern, den gesamten Prozess der Softwareentwicklung zu automatisieren und bietet eine effiziente Remote-Entwicklungsumgebung durch den Ansatz "Alles ist Code".
  2. Was sind die Vorteile von "Alles ist Code"?
    Es macht den Build- und Deployment-Prozess transparent, nachvollziehbar und einfach zu verwalten. Der gesamte Prozess wird wie Code von einem Versionskontrollsystem (z. B. Git) verwaltet, alle Änderungen werden dokumentiert, die Teammitglieder können bei Überprüfungen und Änderungen zusammenarbeiten, und er kann leicht wiederverwendet und migriert werden.
  3. Wie lässt sich der Remote-Arbeitsbereich von CNB in Sekundenschnelle starten?
    Es stützt sich auf ein Programm namensgit-clone-yydsDie Technologie basiert auf dem OverlayFS-Dateisystem, mit dem selbst 100-GB-Repositories auf Abruf gelesen werden können. Anstatt das gesamte Code-Repository herunterzuladen, wird eine Sicht auf das entfernte Repository erstellt, die On-Demand-Lesevorgänge ermöglicht, so dass selbst 100-GB-Repositories in Sekundenschnelle "geklont" und für Workspaces bereitgestellt werden können.
  4. Wie unterscheidet sich CNB von herkömmlichen CI/CD-Tools?
    Neben der Bereitstellung von CI/CD-Funktionen legt CNB den Schwerpunkt auf die deklarative Verwaltung und Konsistenz von Umgebungen und integriert Cloud-native Entwicklungsumgebungen. Es vereinheitlicht die Entwicklungsumgebung und die Build-Pipeline mit einer Reihe deklarativer Syntax für die Definition und öffnet die gesamte Kette von der Entwicklung bis zum Build.
0Lesezeichen
0Gelobt

Sie können keine AI-Tools finden? Versuchen Sie es hier!

Geben Sie einfach das Schlüsselwort Barrierefreiheit Bing-SucheDer Bereich KI-Tools auf dieser Website bietet eine schnelle und einfache Möglichkeit, alle KI-Tools auf dieser Website zu finden.

zurück zum Anfang

de_DEDeutsch