JoergFiedler.freebsd-build-server

Serveur de Construction FreeBSD

Crée un serveur FreeBSD qui propose une installation 'poudriere' prête à l'emploi. Consultez le Guide FreeBSD pour plus d'informations.

Je voulais avoir un serveur de construction que je n'ai pas besoin de faire fonctionner tout le temps. Pour y parvenir, le dépôt de paquets et les options de construction pour tous les paquets sont synchronisés avec S3. Cela me permet de détruire le serveur de construction après que les paquets ont été construits et synchronisés.

Avant de commencer, vous pouvez fournir vos propres fichiers en définissant le chemin pour la variable Ansible correspondante.

  1. make.conf, (poudriere_build_options_file)
  2. ports-list, (poudriere_port_list_file)
  3. poudriere.key, (poudriere_key_file)

Vous pouvez le faire en fournissant votre propre version du fichier et en définissant le chemin via la variable Ansible correspondante.

Avec tout cela en tête, le flux de travail typique ressemble à ceci.

  1. Démarrer un nouveau serveur (il y a un fichier Vagrant pour cela)
  2. Appliquer ce rôle Ansible
  3. Se connecter
  4. Exécuter : sudo build-ports
  5. Exécuter : sudo upload-to-s3
  6. Se déconnecter
  7. Détruire le serveur

Facile comme tout.

Exigences

Ce rôle est destiné à être utilisé avec une nouvelle installation de FreeBSD avec quelques modifications mineures. Il existe une Vagrant Box avec des fournisseurs pour VirtualBox et EC2 que vous pouvez utiliser. J'ai créé ce projet Vagrant pour créer des machines VirtualBox et EC2.

Variables de Rôle

aws_default_region

Région S3 à utiliser. Par défaut : ''.

aws_access_key_id

Clé d'accès S3. Par défaut : ''.

aws_secret_access_key

Clé secrète S3. Par défaut : ''.

s3_bucket_name

Le bucket à utiliser pour stocker les paquets et les options de construction. Par défaut : ''.

s3_upload_path

Le chemin dans le bucket S3 où mettre les dossiers packages et build-options. Par défaut : '/public/FreeBSD'.

freebsd_mirror_server

Le serveur miroir FreeBSD utilisé pour configurer les jails. Par défaut : 'ftp://ftp.freebsd.org'.

poudriere_ssl_prefix

Le chemin où la clé de signature des paquets doit être sauvegardée. Par défaut : '/usr/local/etc/ssl'.

poudriere_key_file

La clé privée utilisée pour signer les paquets. Veuillez changer cela pour utiliser votre propre clé. Par défaut : 'poudriere.key.default'.

poudriere_ports_list_file

La liste des ports à construire. Par défaut : 'ports-list.default'.

poudriere_ports_branch_name

Le nom de la branche des ports à vérifier via svn et à construire. Par défaut : 'head'.

poudriere_build_options_file

Options de construction make.conf utilisées pour construire les ports. Par défaut : 'make.conf.default'.

poudriere_jails

Les jails qui doivent être créées.

poudriere_jails:
- { jail_name: 'freebsd-11_2_x64', version: '11.2-RELEASE' }

Par défaut : ''.

poudriere_zpool

Le nom du zpool qui sera utilisé par poudriere. Si le pool n'existe pas, il sera créé en utilisant les dispositifs spécifiés dans poudriere_zpool_devices. Par défaut : 'tank'.

poudriere_zpool_devices

Les dispositifs qui doivent être utilisés pour créer le zpool pour poudriere, par exemple /dev/nvd1. Par défaut : ''.

Dépendances

Aucune.

Exemple de Playbook

---
- hosts: default
  sudo: true

  vars:
    aws_access_key_id: '{{ lookup("env","AWS_ACCESS_KEY_ID") }}'
    aws_secret_access_key: '{{ lookup("env","AWS_SECRET_ACCESS_KEY") }}'
    aws_default_region: '{{ lookup("env","AWS_DEFAULT_REGION") }}'
    s3_bucket_name: 'repo.bucket.name'
    poudriere_ports_list_file: './files/ports.list'
    poudriere_key_file: './files/poudriere.key'
    poudriere_build_options_file: './files/make.conf'
    poudriere_jails:
      - { jail_name: 'freebsd-11_2_x64', version: '11.2-RELEASE' }

  roles:
  - { role: JoergFiedler.freebsd-build-server }

Licence

BSD

Informations sur l'Auteur

Si vous aimez ce projet ou avez des idées pour l'améliorer, veuillez ouvrir une issue sur Github. Merci.

À propos du projet

Creates a FreeBSD build server (poudriere).

Installer
ansible-galaxy install JoergFiedler.freebsd-build-server
Licence
Unknown
Téléchargements
107
Propriétaire