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


10.8.23 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. Par exemple, voici un exemple qui construira tous les paquets fournis par le canal my-channel.

(define %cuirass-specs
  #~(list (specification
           (name "my-channel")
           (build '(channels my-channel))
           (channels
            (cons (channel
                   (name 'my-channel)
                   (url "https://my-channel.git"))
                  %default-channels)))))

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

Pour construire le paquet linux-libre défini par le canal Guix par défaut, on peut utiliser la configuration suivante.

(define %cuirass-specs
  #~(list (specification
           (name "my-linux")
           (build '(packages "linux-libre")))))

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

Les autres possibilités de configuration, ainsi que l’enregistrement de spécification lui-même sont décrits dans le manuel de Cuirass (voir Specifications dans Cuirass).

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.

cuirass (par défaut : cuirass)

Le paquet Cuirass à utiliser.

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

Emplacement du fichier de journal.

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

Emplacement du fichier journal utilisé par l’interface web.

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.

parameters (par défaut : #f)

Lit les paramètres dans le fichier parameters. Les paramètres pris en charges sont décrits ici (voir Parameters dans Cuirass).

remote-server (par défaut : #f)

Un enregistrement cuirass-remote-server-configuration pour utiliser le mécanisme de construction distante ou #f pour utiliser le mécanisme de construction par défaut.

database (par défaut : "dbname=cuirass host=/var/run/postgresql")

Utiliser database comme base de données contenant les travaux et les résultats des constructions passées. Comme Cuirass utilise PostgreSQL comme moteur de base de données, database doit être une chaîne de la même forme que "dbname=cuirass host=localhost".

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 d’enregistrement de spécifications. L’enregistrement de spécification est décrit dans le manuel de Cuirass (voir Specifications dans Cuirass).

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 : '())

Options supplémentaires à passer au lancement des processus de Cuirass.

Cuirass, construction distante

Cuirass prend en charge deux mécanisme pour construire les dérivations.

Pour active ce mode de construction, vous devez passer un enregistrement cuirass-remote-server-configuration au champ remote-server de l’enregistrement cuirass-configuration. L’enregistrement cuirass-remote-server-configuration est décrit plus bas.

Ce mode de construction passe mieux à l’échelle que celui par défaut. C’est le mode de construction utilisé sur la ferme de construction de GNU Guix https://ci.guix.gnu.org. Vous devriez l’utiliser si vous utilisez Cuirass pour construire un grand nombre de paquets.

Type de données : cuirass-remote-server-configuration

Le type de données représentant la configuration des serveurs distants de Cuirass.

backend-port (par défaut : 5555)

Le port TCP pour communiquer avec les processus remote-worker via ZMQ. Sa valeur par défaut est 5555.

log-port (par défaut : 5556)

Le port TCP du serveur de journalisation. Sa valeur par défaut est 5556.

publish-port (par défaut : 5557)

Le port TCP du serveur de publication. Sa valeur par défaut est 5557.

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

Emplacement du fichier de journal.

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

Utiliser le répertoire cache pour mettre les journaux en cache.

trigger-url (par défaut : #f)

Lorsqu’un substitut a été correctement récupéré, cause la préparation d’un substitut sur trigger-url.

public-key
private-key

Utilise les fichiers spécifiques comme pair de clefs utilisées pour signer les éléments avant de les publier.

Au moins un serveur distant doit aussi être démarré sur une machine du réseau local pour effectivement effectuer les constructions et rapporter leur état.

Type de données : cuirass-remote-worker-configuration

Type de données représentant la configuration des serveurs distants de Cuirass.

cuirass (par défaut : cuirass)

Le paquet Cuirass à utiliser.

workers (par défaut : 1)

Démarre workers travailleurs en parallèle.

server (par défaut : #f)

Ne pas utiliser Avahi pour découvrir des serveurs et se connecter à l’IP server donnée à la place.

systems (par défaut : (list (%current-system)))

Ne demander des constructions que pour les systèmes systems donnés.

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

Emplacement du fichier de journal.

publish-port (par défaut : 5558)

Le port TCP du serveur de publication. La valeur par défaut est 5558.

public-key
private-key

Utilise les fichiers spécifiques comme pair de clefs utilisées pour signer les éléments avant de les publier.

Laminar

Laminar est service d’intégration continue léger et modulaire. Il n’a pas d’interface de configuration web et utilise plutôt des fichiers de configuration et des scripts sous contrôle de version.

Laminar encourage l’utilisation d’outils existants comme bash et cron au lieu de les réinventer.

Procédure Scheme : laminar-service-type

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

Toutes les configurations ont des valeurs par défaut, une configuration minimale pour lancer Laminar se trouve plus bas. Par défaut, l’interface web est disponible sur le port 8080.

Type de données : laminar-configuration

Type données qui représente la configuration de Laminar.

laminar (par défaut : laminar)

Le paquet Laminar à utiliser.

home-directory (par défaut : "/var/lib/laminar")

Le répertoire de la configuration des travaux et des répertoires d’exécution.

bind-http (par défaut : "*:8080")

L’interface et le port ou la socket unix sur laquelle laminard écoutera les connexions entrantes sur l’interface web.

bind-rpc (par défaut : "unix-abstract:laminar")

L’interface et le port ou la socket unix sur laquelle laminard écoutera les commandes entrantes comme les requêtes de construction.

title (par défaut : "Laminar")

Le titre de la page à afficher sur l’interface web.

keep-rundirs (par défaut : 0)

Indiquez un entier indiquant le nombre de répertoire d’exécution garder par tache. Les répertoires avec les numéros les plus petits seront supprimé. La valeur par défaut est 0, ce qui signifie que tous les répertoires d’exécution seront immédiatement supprimés.

archive-url (par défaut : #f)

L’interface web servi par laminard utilisera cette URL pour former les liens vers les artefacts des travaux archivés.

base-url (par défaut : #f)

URL de base à utiliser pour les liens vers laminar.


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