Suivant: , Précédent: , Monter: Services   [Table des matières][Index]


8.8.21 Intégration continue

Cuirass est un outil d’intégration continue pour Guix. On peut l’utiliser aussi bien pour le développement que pour fournir des substituts à d’autres (voir Substituts).

Le module (gnu services cuirass) fournit le service suivant.

Procédure Scheme : cuirass-service-type

Le type du service Cuirass. Sa valeur doit être un objet cuirass-configuration, décrit ci-dessous.

Pour ajouter des travaux de construction, vous devez indiquer le champ specifications de la configuration. Voici un exemple de service qui récupère le dépôt Guix et construit les paquets depuis un manifeste. Certains des paquets sont définis dans l’entrée "custom-packages", qui est l’équivalent de GUIX_PACKAGE_PATH.

(define %cuirass-specs
  #~(list
     '((#:name . "my-manifest")
       (#:load-path-inputs . ("guix"))
       (#:package-path-inputs . ("custom-packages"))
       (#:proc-input . "guix")
       (#:proc-file . "build-aux/cuirass/gnu-system.scm")
       (#:proc . cuirass-jobs)
       (#:proc-args . ((subset . "manifests")
                       (systems . ("x86_64-linux"))
                       (manifests . (("config" . "guix/manifest.scm")))))
       (#:inputs . (((#:name . "guix")
                     (#:url . "git://git.savannah.gnu.org/guix.git")
                     (#:load-path . ".")
                     (#:branch . "master")
                     (#:no-compile? . #t))
                    ((#:name . "config")
                     (#:url . "https://git.example.org/config.git")
                     (#:load-path . ".")
                     (#:branch . "master")
                     (#:no-compile? . #t))
                    ((#:name . "custom-packages")
                     (#:url . "https://git.example.org/custom-packages.git")
                     (#:load-path . ".")
                     (#:branch . "master")
                     (#:no-compile? . #t)))))))

(service cuirass-service-type
         (cuirass-configuration
          (specifications %cuirass-specs)))

Tandis que les informations liés aux travaux de construction sont directement dans les spécifications, les paramètres globaux pour le processus cuirass sont accessibles dans les autres champs de cuirass-configuration.

Type de données : cuirass-configuration

Type de données représentant la configuration de Cuirass.

log-file (par défaut : "/var/log/cuirass.log")

Emplacement du fichier de journal.

web-log-file (default: "/var/log/cuirass-web.log")

Location of the log file used by the web interface.

cache-directory (par défaut : "/var/cache/cuirass")

Emplacement du cache du dépôt.

user (par défaut : "cuirass")

Propriétaire du processus cuirass.

group (par défaut : "cuirass")

Groupe du propriétaire du processus cuirass.

interval (par défaut : 60)

Nombre de secondes entre les mises à jour du dépôt suivis des travaux de Cuirass.

database (par défaut : "/var/lib/cuirass/cuirass.db")

Emplacement de la base de données sqlite qui contient les résultats de construction et les spécifications précédemment ajoutées.

ttl (par défaut : (* 30 24 3600))

Spécifie la durée de vie (TTL) en seconde des racines du ramasse-miette qui sont enregistrés comme des résultats de construction. Cela signifie que les résultats de construction ne seront pas glanés pendant au moins ttl secondes.

port (par défaut : 8081)

Numéro de port utilisé pour le serveur HTTP.

host (par défaut : "localhost")

Écoute sur l’interface réseau de host. La valeur par défaut est d’accepter les connexions depuis localhost.

specifications (par défaut : #~'())

Une gexp (voir G-Expressions) qui s’évalue en une liste de spécifications, où une spécification est une liste d’association (voir Associations Lists dans GNU Guile Reference Manual) dont les clefs sont des mots-clefs (#:exemple-de-mot-clef) comme dans l’exemple plus haut.

use-substitutes? (par défaut : #f)

Cela permet d’utiliser des substituts pour éviter de construire toutes les dépendance d’un travail depuis les sources.

one-shot? (par défaut : #f)

N’évaluer les spécification et construire les dérivations qu’une seule fois.

fallback? (par défaut : #f)

Lorsque la substitution d’un binaire pré-construit échoue, revenir à la construction locale du paquet.

extra-options (par défaut : '())

Extra options to pass when running the Cuirass processes.

cuirass (par défaut : cuirass)

Le paquet Cuirass à utiliser.


Suivant: , Précédent: , Monter: Services   [Table des matières][Index]