Hydra/de: Difference between revisions

Jopejoe1 (talk | contribs)
Created page with "Ein Closure, welches als Teil eines Jobsatzes erstellt wird (wie ein einzelnes Paket, ISO-Image oder Tarball)."
Tags: Mobile edit Mobile web edit
FuzzyBot (talk | contribs)
Updating to match new version of source page
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages />
<languages />
<div lang="en" dir="ltr" class="mw-content-ltr">
{{note| Hydra is intended to be used by Nix/NixOS package developers; it is not needed to simply use NixOS.}}
</div>
Hydra ist ein Werkzeug für kontinuierliche Integrationstests und Softwarefreigabe, das eine rein funktionale Sprache zur Beschreibung von Build-Jobs und deren Abhängigkeiten verwendet. Kontinuierliche Integration ist eine einfache Technik zur Verbesserung der Qualität des Softwareentwicklungsprozesses. Ein automatisiertes System prüft kontinuierlich oder periodisch den Quellcode eines Projekts, baut ihn, führt Tests durch und erstellt Berichte für die Entwickler. Auf diese Weise werden verschiedene Fehler, die versehentlich in die Codebasis aufgenommen werden könnten, automatisch erkannt.
Hydra ist ein Werkzeug für kontinuierliche Integrationstests und Softwarefreigabe, das eine rein funktionale Sprache zur Beschreibung von Build-Jobs und deren Abhängigkeiten verwendet. Kontinuierliche Integration ist eine einfache Technik zur Verbesserung der Qualität des Softwareentwicklungsprozesses. Ein automatisiertes System prüft kontinuierlich oder periodisch den Quellcode eines Projekts, baut ihn, führt Tests durch und erstellt Berichte für die Entwickler. Auf diese Weise werden verschiedene Fehler, die versehentlich in die Codebasis aufgenommen werden könnten, automatisch erkannt.


<div class="mw-translate-fuzzy">
Die offiziellen Hydra-Server bieten vorgefertigte Binärpakete an, um die Aktualisierungszeit für Nixpgs zu verkürzen: Die Benutzer müssen sie nicht auf ihren eigenen Computern kompilieren.
Die offiziellen Hydra-Server bieten vorgefertigte Binärpakete an, um die Aktualisierungszeit für Nixpgs zu verkürzen: Die Benutzer müssen sie nicht auf ihren eigenen Computern kompilieren.
</div>


Das [https://nixos.org/hydra/manual/ Hydra Handbuch] bietet eine Übersicht der Funktionalität und Funktionen von Hydra sowohl als auch eine aktuelle Installationsanleitung.  
Das [https://nixos.org/hydra/manual/ Hydra Handbuch] bietet eine Übersicht der Funktionalität und Funktionen von Hydra sowohl als auch eine aktuelle Installationsanleitung.  
Line 12: Line 18:
Eine vollständige Installation kann wie folgt konfiguriert werden:
Eine vollständige Installation kann wie folgt konfiguriert werden:


<syntaxHighlight lang=nix>
<syntaxhighlight lang="nix">
   services.hydra = {
   services.hydra = {
     enable = true;
     enable = true;
Line 19: Line 25:
     # a standalone Hydra will require you to unset the buildMachinesFiles list to avoid using a nonexistant /etc/nix/machines
     # a standalone Hydra will require you to unset the buildMachinesFiles list to avoid using a nonexistant /etc/nix/machines
     buildMachinesFiles = [];
     buildMachinesFiles = [];
     # you will probably also want, otherwise *everything* will be built from scratch
     # you will probably also want this, otherwise *everything* will be built from scratch
     useSubstitutes = true;
     useSubstitutes = true;
   };
   };
</syntaxHighlight>
</syntaxhighlight>


Dieses Modul aktiviert PostgreSQL automatisch,
Dieses Modul aktiviert [[PostgreSQL|PostgreSQL]] automatisch,
außer die <code>services.hydra.dbi</code> wird geändert. Das Datenbanklayout wird automatisch erstellt vom Hydra-Service. Allerdings ist anzumerken, das zusätzliche Daten in der Datenbank gespeichert werden, was eine vollständige deklarative Konfiguration unmöglich macht. Daher sind Backups erforderlich.
außer die <code>services.hydra.dbi</code> wird geändert. Das Datenbanklayout wird automatisch erstellt vom Hydra-Service. Allerdings ist anzumerken, das zusätzliche Daten in der Datenbank gespeichert werden, was eine vollständige deklarative Konfiguration unmöglich macht. Daher sind Backups erforderlich.


Line 54: Line 60:
   nix.buildMachines = [
   nix.buildMachines = [
     { hostName = "localhost";
     { hostName = "localhost";
      protocol = null;
       system = "x86_64-linux";
       system = "x86_64-linux";
       supportedFeatures = ["kvm" "nixos-test" "big-parallel" "benchmark"];
       supportedFeatures = ["kvm" "nixos-test" "big-parallel" "benchmark"];
Line 71: Line 78:
Ein Jobset kann wie folgt konfiguriert werden.
Ein Jobset kann wie folgt konfiguriert werden.


* Type: Flake
* Type: [[Flakes|Flake]]


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 222: Line 229:
Ein Closure, welches als Teil eines Jobsatzes erstellt wird (wie ein einzelnes Paket, ISO-Image oder Tarball).
Ein Closure, welches als Teil eines Jobsatzes erstellt wird (wie ein einzelnes Paket, ISO-Image oder Tarball).


<span id="Release_Set"></span>
<div class="mw-translate-fuzzy">
==== Release Set ====
==== Release Set ====
Definiert alle Jobs, die in Ihrem Release beschrieben sind. Konventionell wird eine Datei namens <code>release.nix</code> verwendet. Eine ausführliche Beschreibung der Struktur finden Sie im [https://nixos.org/hydra/manual/#idm140737315920320 Hydra Handbuch für Build Recipes].
Definiert alle Jobs, die in Ihrem Release beschrieben sind. Konventionell wird eine Datei namens <code>release.nix</code> verwendet. Eine ausführliche Beschreibung der Struktur finden Sie im [https://nixos.org/hydra/manual/#idm140737315920320 Hydra Handbuch für Build Recipes].
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Defines all the jobs which are described in your release. By convention a file called<code>release.nix</code> is being used. See the [https://nixos.org/hydra/manual/#idm140737315920320 Hydra manual for Build Recipes] for a thorough description of the structure.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">