So installieren Sie Bazel unter CentOS 8 Linux oder Redhat 8/7 (10.28.21)

Bazel ist ein Build-Tool, ein Tool, das ausgeführt, kompiliert und getestet werden kann, um Software zusammenzustellen, genau wie Make, Ant, Gradle, Buck, Pants und Maven. Hier erfahren Sie, wie Sie das Open-Source-Software-Building- und Testing-Tool von Bazel auf CentOS 8 Linux / Stream / RHEL 8 installieren. 

Was ist Bazel?

Bazel is ein Kompilierungstool, das von Google im Rahmen seiner Open-Source-Initiative entwickelt wurde, und Bazel verwendet verteiltes Caching und inkrementelle Build-Methoden, um die Kompilierung zu beschleunigen. Es unterstützt nativ die Sprachen Java und C++ und verfügt derzeit über Open-Source-bezogene Regeln zum Kompilieren von Golang-Projekten.

Installieren Sie Bazel auf CentOS oder Redhat zum Erstellen und Testen von Software

  • Öffnen Befehlsterminal auf CentOS oder RHEL. Wenn Sie sich auf dem CLI-Server befinden, gehen Sie jedoch für die GUI bereits auf Aktivitäten und klicken Sie im Menü auf das Terminal-Symbol.
  • Als Root- oder Standardbenutzer anmelden mit sudo-Zugriff.
  • Bazel-Repository auf CentOS 8/7 hinzufügen. Und dasselbe für Redhat.Für CentOS 7 oder Redhat 7:
    yum config-manager --add-repo https://copr.fedorainfracloud.org/coprs/vbatts/bazel/repo/epel-7/vbatts-bazel-epel-7.repo

    Für CentOS 8 Linux oder RHEL 8:

    dnf config-manager --add-repo https://copr.fedorainfracloud.org/coprs/vbatts/bazel/repo/epel-8/vbatts-bazel-epel-8.repo
  • Befehl zum Installieren Bazel auf CentOS
    dnf install bazel

    oder

    yum install bazel

    Ausgabe für den Befehl:

    [[email protected] ~]# dnf install bazel  Last metadata expiration check: 0:00:57 ago on Sat 05 Oct 2019 09:49:22 AM EDT.  Dependencies resolved.  ===============================================================================================================  Package Arch Version Repository Size  ===============================================================================================================  Installing:  bazel x86_64 0.29.1-0.el8 copr:copr.fedorainfracloud.org:vbatts:bazel 24 M  Installing dependencies:  copy-jdk-configs noarch 3.7-1.el8 AppStream 27 k  java-11-openjdk x86_64 1:11.0.4.11-0.el8_0 AppStream 227 k  java-11-openjdk-devel x86_64 1:11.0.4.11-0.el8_0 AppStream 3.3 M  java-11-openjdk-headless x86_64 1:11.0.4.11-0.el8_0 AppStream 39 M  javapackages-filesystem noarch 5.3.0-1.module_el8.0.0+11+5b8c10bd  AppStream 30 k  ttmkfdir x86_64 3.0.9-54.el8 AppStream 62 k  tzdata-java noarch 2019a-1.el8 AppStream 188 k  xorg-x11-fonts-Type1 noarch 7.5-19.el8 AppStream 522 k  lksctp-tools x86_64 1.0.18-3.el8 BaseOS 100 k  Enabling module streams:  javapackages-runtime 201801    Transaction Summary  ===============================================================================================================  Install 10 Packages    Total download size: 67 M  Installed size: 205 M  Is this ok [y/N]:
  • Akzeptieren Sie den Import des Fedora COPR GPG-Schlüssels. Drücken Sie die Taste Y, um es zu akzeptieren und mit dem Bazel-Installationsprozess fortzufahren.Ausgabe:
    warning: /var/cache/dnf/copr:copr.fedorainfracloud.org:vbatts:bazel-df36dce8e0c0e1d6/packages/bazel-0.29.1-0.el8.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID eb2be214: NOKEY  Copr repo for bazel owned by vbatts 285 B/s | 961 B 00:03  Importing GPG key 0xEB2BE214:  Userid : "vbatts_bazel (None) <vbatts#[email protected]>"  Fingerprint: 090F 9C8B BDB6 3200 807E 16C2 978A 4B98 EB2B E214  From : https://copr-be.cloud.fedoraproject.org/results/vbatts/bazel/pubkey.gpg  Is this ok [y/N]: y  Key imported successfully  Running transaction check  Transaction check succeeded.  Running transaction test  Transaction test succeeded.  Running transaction  Running scriptlet: copy-jdk-configs-3.7-1.el8.noarch 1/1  Running scriptlet: java-11-openjdk-headless-1:11.0.4.11-0.el8_0.x86_64 1/1  Preparing : 1/1  Installing : lksctp-tools-1.0.18-3.el8.x86_64 1/10  Running scriptlet: lksctp-tools-1.0.18-3.el8.x86_64 1/10  Installing : tzdata-java-2019a-1.el8.noarch 2/10  Installing : ttmkfdir-3.0.9-54.el8.x86_64 3/10  Installing : xorg-x11-fonts-Type1-7.5-19.el8.noarch 4/10  Running scriptlet: xorg-x11-fonts-Type1-7.5-19.el8.noarch 4/10  Installing : javapackages-filesystem-5.3.0-1.module_el8.0.0+11+5b8c10bd.noarch 5/10  Installing : copy-jdk-configs-3.7-1.el8.noarch 6/10  Installing : java-11-openjdk-headless-1:11.0.4.11-0.el8_0.x86_64 7/10  Running scriptlet: java-11-openjdk-headless-1:11.0.4.11-0.el8_0.x86_64 7/10  Installing : java-11-openjdk-1:11.0.4.11-0.el8_0.x86_64 8/10  Running scriptlet: java-11-openjdk-1:11.0.4.11-0.el8_0.x86_64 8/10  Installing : java-11-openjdk-devel-1:11.0.4.11-0.el8_0.x86_64 9/10  Running scriptlet: java-11-openjdk-devel-1:11.0.4.11-0.el8_0.x86_64 9/10  Installing : bazel-0.29.1-0.el8.x86_64 10/10  Running scriptlet: copy-jdk-configs-3.7-1.el8.noarch 10/10  Running scriptlet: java-11-openjdk-1:11.0.4.11-0.el8_0.x86_64 10/10  Running scriptlet: java-11-openjdk-devel-1:11.0.4.11-0.el8_0.x86_64 10/10  Running scriptlet: bazel-0.29.1-0.el8.x86_64 10/10  Verifying : copy-jdk-configs-3.7-1.el8.noarch 1/10  Verifying : java-11-openjdk-1:11.0.4.11-0.el8_0.x86_64 2/10  Verifying : java-11-openjdk-devel-1:11.0.4.11-0.el8_0.x86_64 3/10  Verifying : java-11-openjdk-headless-1:11.0.4.11-0.el8_0.x86_64 4/10  Verifying : javapackages-filesystem-5.3.0-1.module_el8.0.0+11+5b8c10bd.noarch 5/10  Verifying : ttmkfdir-3.0.9-54.el8.x86_64 6/10  Verifying : tzdata-java-2019a-1.el8.noarch 7/10  Verifying : xorg-x11-fonts-Type1-7.5-19.el8.noarch 8/10  Verifying : lksctp-tools-1.0.18-3.el8.x86_64 9/10  Verifying : bazel-0.29.1-0.el8.x86_64 10/10    Installed:  bazel-0.29.1-0.el8.x86_64  copy-jdk-configs-3.7-1.el8.noarch  java-11-openjdk-1:11.0.4.11-0.el8_0.x86_64  java-11-openjdk-devel-1:11.0.4.11-0.el8_0.x86_64  java-11-openjdk-headless-1:11.0.4.11-0.el8_0.x86_64  javapackages-filesystem-5.3.0-1.module_el8.0.0+11+5b8c10bd.noarch  ttmkfdir-3.0.9-54.el8.x86_64  tzdata-java-2019a-1.el8.noarch  xorg-x11-fonts-Type1-7.5-19.el8.noarch  lksctp-tools-1.0.18-3.el8.x86_64    Complete!
  • Überprüfen Sie die installierte Bazel-Version
    bazel --version

    Ausgabe

    bazel 0.29.1
  • Die Installation ist erfolgreich. Um mit dem Bau eines grundlegenden Projekts zu beginnen, können Sie den sehen.


  • Was ist das Besondere an Bazel?

    Bazel ist eine Software Entwicklungsmodell für die Zusammenarbeit mit Google.

    Hat die folgenden Eigenschaften:

    Mehrsprachige Unterstützung: Bazel unterstützt Java, Objective-C und C++ und kann seinerweitert, um jede Programmiersprache zu unterstützen.

    High-Level-Build-Sprache: Engineering wird durch die BUILD-Sprache beschrieben. Die BUILD-Sprache beschreibt ein Projekt, das aus mehreren kleinen, miteinander verbundenen Bibliotheken, Binärdateien und Testprogrammen in einem prägnanten Textformat besteht. Im Gegensatz dazu müssen Tools wie Make einzelne Dateien und kompilierte Befehle beschreiben.

    Multiplattform-Unterstützung: Dieselben Tools und dieselbe BUILD-Datei können verwendet werden, um Software für unterschiedliche zu erstellen Architekturen und Plattformen. Bei Google verwenden wir Bazel, um serverseitige Programme zu erstellen, die auf unseren Rechenzentrumssystemen ausgeführt werden, und Clientanwendungen, die auf Mobiltelefonen ausgeführt werden.

    Reproduzierbarkeit: In einer BUILD-Datei wird jede Bibliothek, Testprogramm und Binärdatei müssen explizit und explizit direkte Abhängigkeiten angeben. Wenn die Quellcodedatei geändert wird, verwendet Bazel diese Abhängigkeitsinformationen, um zu wissen, welche neu erstellt werden müssen und welche Aufgaben parallel ausgeführt werden können. Dies bedeutet, dass alle Builds inkrementell sind und jedes Mal die gleichen Ergebnisse liefern können.

    Skalierbarkeit: Bazel kann große Builds verarbeiten; bei Google ist ein serverseitiges Programm mit mehr als 100.000 Quellcode eine gängige Sache. Wenn keine Dateien geändert werden, dauert der Build-Prozess etwa 200 ms.

    Warum sollte ich Bazel verwenden?

    Bazel kann die Build-Geschwindigkeit verdoppeln, da es nur Dateien neu kompiliert, die neu kompiliert werden. Ebenso überspringt es Tests, die nicht geändert wurden.

    Es erzeugt ein bestimmtes Ergebnis. Dadurch wird der Unterschied in den Build-Ergebnissen zwischen inkrementellen und sauberen Builds, Entwicklungsmaschinen und kontinuierlicher Integration eliminiert.

    Bazel kann dieselben Tools im selben Projekt verwenden, um verschiedene Client- und Serveranwendungen zu erstellen. Sie können beispielsweise ein Client/Server-Protokoll in aCommit und testen Sie dann, ob die aktualisierten mobilen und serverseitigen Programme ordnungsgemäß funktionieren, und verwenden Sie dabei die gleichen Tools wie beim Erstellen mit dem oben genannten Bazel. charakteristisch.


    YTube Video: So installieren Sie Bazel unter CentOS 8 Linux oder Redhat 8/7

    10, 2021