npm-Pakete mit JFrog CLI
Dieser Blogbeitrag wurde zuletzt am 7. April 2021 aktualisiert
JFrog CLI ist ein kompakter und intelligenter Client, der eine unkomplizierte Oberfläche hat und die Arbeit mit JFrog Artifactory enorm vereinfacht. Die vereinfachten Befehle ermöglichen es Ihnen, lesbare Automatisierungsskripte zu erstellen, die einfach zu warten sowie effizient und zuverlässig sind.
Ab Version 1.13.1, hat JFrog CLI seine Unterstützung auf npm-Paketeerweitert, zusätzlich zur Unterstützung von Maven- und Gradle-Builds. In diesem Blog-Beitrag werden die verfügbaren npm-Befehle beschrieben, die mit dem npm-Client arbeiten, um Ihre npm-Builds zu verwalten Mit dem JFrog CLI können Sie:
- Ihre npm-Build-Informationen in Artifactory sammeln und veröffentlichen
- Ihre Builds einfach nachverfolgen, sobald Sie die Build-Informationen in Artifactory veröffentlicht haben
- Einsicht in die verwendeten Abhängigkeiten gewinnen
- Informationen über die Build-Umgebung erstellen
- Ihre Builds durch die Anbindung von JFrog Xray auf mögliche Schwachstellen überprüfen
- Ihre Builds umsetzen
Die folgenden Schritte führen Sie durch den kompletten Prozess, um Ihr npm-Build zum Laufen zu bringen:
- Klonen Sie ein Projekt.
- Stellen Sie die CLI-Verbindung zu Ihrem(n) Artifactory-Server(n) ein.
- Installieren Sie die Paketabhängigkeiten.
- Veröffentlichen Sie das Paket in Artifactory.
- Überprüfen Sie den Build.
- Setzen Sie den Build um.
Voraussetzungen
Bevor wir beginnen, müssen Sie Folgendes durchführen.
- Installieren Sie JFrog CLI unter Verwendung des folgenden Befehls:
$ curl -fL https://getcli.jfrog.io | sh
- Richten Sie Ihre Umgebung ein (optional, aber empfohlen):
- Laden Sie Ihren npm-Client herunter und installieren Sie ihn
- Laden Sie Artifactory-Version 5.5.2 und höher herunter.
- Laden Sie Xray herunter.
1. Klonen Sie Ihr Projekt
Sie können jedes npm-Projekt klonen. In unserem Beispiel haben wir das twbs Bootstrap-Projekt mit dem folgenden Git-Befehl geklont:
$ git clone https://github.com/twbs/bootstrap.git
2. Konfigurieren Sie Artifactory mit JFrog CLI
Dazu müssen Sie nur den folgenden Befehl ausführen:
$ jfrog config
Fahren Sie wie folgt fort, um Ihren Artifactory-Servernamen, die URL, den Artifactory-Benutzernamen und das Passwort zu ändern:
Hurra, die Verbindung ist hergestellt!
3. Npm-Repositories einstellen
Führen Sie die folgende Einstellung für npm-Repositories aus, die unsere npm-Repositories für unseren Build konfiguriert:
$ jfrog rt npmc
Die Befehle helfen uns, die npm-Repositories wie folgt zu konfigurieren:
4. Installieren Sie npm-Pakete
Führen Sie den folgenden npm-Installationsbefehl aus, der sich auf das virtuelle npm-Repository als eine Quelle für die Abhängigkeiten bezieht:
$ jfrog rt npm-install --build-name=bootstrap --build-number=1.0.0
Dieser Befehl installiert das Projekt und verweist auf das npm-Repository als Quelle.
Wissen ist Macht!
Es ist an der Zeit, einige Informationen zu generieren. Wir empfehlen, die Git VCS-Details anhand des folgenden build-add-git-Befehls hinzuzufügen:
$jfrog rt bag bootstrap 1.0.0
Außerdem können Sie die Umgebungsvariablen mit dem folgenden build-collect-env-Befehl sammeln:
$jfrog rt bce bootstrap 1.0.0
5. Veröffentlichen Sie npm-Pakete
Wichtiger Hinweis: Erforderliche Änderungen an bestehenden npm-Skripten
Wenn Sie bereits npm-Skripte haben, empfehlen wir Ihnen, Ihre bestehenden pre publish– und post publish-Skripte in der package.json-Datei umzubenennen. Wenn der npm-publish-Befehl ausgeführt wird, führt die JFrog-CLI den Pack-Befehl im Hintergrund aus und nicht den Standard-Veröffentlichungsbefehl. Wenn Ihr npm-Paket die pre publish– oder post publish-Skripte enthält, benennen Sie diese um in prepack bzw. postpack.
Der npm publish-Befehl packt das npm-Paket und stellt es in Ihrem npm-Repository in Artifactory bereit. Sie können auch optionale Flags hinzufügen. Zum Beispiel: Laden Sie das Paket unter Verwendung der –server-id-Flag auf einen anderen Server hoch.
Um das Paket zu veröffentlichen, führen Sie den folgenden Befehl aus:
$ jfrog rt npm-publish --build-name=bootstrap --build-number=1.0.0
Jetzt sind wir bereit, die Build-Informationen an Artifactory zu übergeben.
Führen Sie den folgenden build publish-Befehl aus:
$ jfrog rt bp bootstrap 1.0.0
Das npm-Paket wird nun in Artifactory angezeigt.
Nachdem Sie den build publish-Befehl ausgeführt haben, können Sie die Build-Informationen überprüfen und die Module und Umgebungsvariablen in Artifactory veröffentlichen.
6. Prüfen Sie Ihren Build
JFrog Xray arbeitet mit Artifactory zusammen, um eine universelle Analyse von binären Softwarekomponenten in jeder Phase des Application Lifecycle durchzuführen. Durch das Überprüfen von Binärkomponenten und deren Metadaten, wobei Abhängigkeiten auf jeder Ebene rekursiv durchlaufen werden, bietet Xray einen beispiellosen Einblick in Probleme, die in Komponenten überall in Ihrer Organisation lauern.
Um Ihr Build mit Xray zu überprüfen, müssen Sie eine neue Überwachung für den Build wie folgt konfigurieren:
Es wird empfohlen, durch "Action" eine Überwachung hinzuzufügen. Durch Anklicken von "Add Action" können mehrere Aktionen ausgewählt werden.
JFrog CLI ist über JFrog Artifactory mit JFrog Xray integriert, so dass Sie Build-Artefakte und Abhängigkeiten auf Schwachstellen und andere Probleme untersuchen lassen können. Für diese Integration sind JFrog Artifactory v4.16 und höher sowie JFrog Xray v1.6 und höher erforderlich.
Um ein Build zu überprüfen, verwenden Sie den folgenden Befehl:
$ jfrog rt bs bootstrap 1.0.0
6. Setzen Sie den Build um
Die Build-Umsetzung wird in der Regel nach dem Testen oder der Build-Überprüfung verwendet, wobei optional die Build-Artefakte und ihre Abhängigkeiten in ein Ziel-Repository verschoben oder kopiert werden.
Verwenden Sie den build promote-Befehl, um den Build in Artifactory nach der Überprüfung des Build umzusetzen. Sie können dem Befehl eine Reihe von optionalen Flags hinzufügen. Zum Beispiel die –comment– und –status-Flags.
Führen Sie zur Umsetzung des Builds den folgenden Befehl aus:
$ jfrog rt bpr bootstrap 1.0.0 npm-virtual
Der ausgeführte Build in Artifactory:
Das war's, Sie sind fertig!
Sehen Sie sich auch unsere zukünftigen Beiträge an, in denen es über die Verwendung von JFrog CLI mit Travis CI sowie über das Sortieren und Begrenzen Ihrer erzeugten Builds geht.