inverse_inc.gitlab_buildpkg_tools

Rôle gitlab_buildpkg_tools

Statut de Build

Installe un PPA gitlab-buildpkg-tools et les paquets construits avec gitlab-buildpkg-tools dans un pipeline.

Ce rôle permet également :

  • d'installer des dépôts supplémentaires
  • d'installer des clés GPG
  • d'installer des paquets pour répondre aux dépendances des paquets construits dans le pipeline
  • d'activer ou désactiver des dépôts pour EL
  • de définir la priorité des dépôts EL (nécessite le paquet yum-priorities avant EL8)

Exigences

Ce rôle est conçu pour être lancé dans un pipeline GitLab. Il peut être appelé en dehors d'un pipeline, mais vous devrez définir certaines variables manuellement.

Variables du rôle

Les variables disponibles sont listées ci-dessous, vérifiez defaults/main.yml pour les valeurs par défaut :

gitlab_buildpkg_tools__ppa_enabled

Contrôle si le dépôt et la clé PPA doivent être installés.

gitlab_buildpkg_tools__ppa_url

URL du PPA.

gitlab_buildpkg_tools__ppa_url_deb

URL du PPA pour la partie Debian.

gitlab_buildpkg_tools__ppa_url_centos

URL du PPA pour la partie CentOS.

gitlab_buildpkg_tools__deb_ppa

Paramètres du dépôt PPA Debian.

gitlab_buildpkg_tools__rpm_ppa

Paramètres du dépôt PPA RPM.

gitlab_buildpkg_tools__deb_deps_pkgs

Liste des dépendances Debian à installer.

gitlab_buildpkg_tools__deb_deps_pkgs_state

État des dépendances Debian.

gitlab_buildpkg_tools__deb_keys

Liste des clés GPG URL.

gitlab_buildpkg_tools__deb_combined_keys

Liste des clés GPG à installer (PPA + supplémentaires).

gitlab_buildpkg_tools__deb_sources_dir

Répertoire Debian pour stocker les fichiers des dépôts.

gitlab_buildpkg_tools__deb_deps_repos

Liste des dépôts Debian supplémentaires.

gitlab_buildpkg_tools__deb_combined_repos

Liste des dépôts Debian à installer.

gitlab_buildpkg_tools__deb_pkgs

Liste des paquets Debian à installer.

gitlab_buildpkg_tools__deb_pkgs_state

État des paquets Debian à installer.

gitlab_buildpkg_tools__rpm_deps_pkgs

Liste des dépendances CentOS à installer.

gitlab_buildpkg_tools__rpm_deps_pkgs_state

État des dépendances CentOS.

gitlab_buildpkg_tools__rpm_keys

Liste des clés GPG URL ou fichiers.

gitlab_buildpkg_tools__rpm_combined_keys

Liste des clés GPG à installer (PPA + supplémentaires).

gitlab_buildpkg_tools__rpm_deps_repos

Liste des dépôts CentOS supplémentaires.

gitlab_buildpkg_tools__rpm_enabled_repos

Liste des dépôts CentOS à activer/désactiver.

gitlab_buildpkg_tools__rpm_combined_repos

Liste des dépôts CentOS à installer.

gitlab_buildpkg_tools__rpm_pkgs

Liste des paquets CentOS à installer.

gitlab_buildpkg_tools__rpm_pkgs_state

État des paquets CentOS à installer.

Variables d'environnement à définir dans un pipeline (voir ci-dessous) :

  • CI_PROJECT_NAME
  • CI_PAGES_URL
  • DEB_PACKAGES_NAME
  • RPM_PACKAGES_NAME

Limitations

Limitations Debian

  • Les clés GPG doivent être ajoutées par URL
  • Les paquets Debian doivent être installés par nom

Variables d'environnement dans .gitlab-ci.yml

Dans un fichier .gitlab-ci.yml, vous pouvez définir des variables d'environnement comme DEB_PACKAGES_NAME: mais ces variables ne peuvent pas être une liste ou un dictionnaire YAML pur. Par conséquent, vous devez utiliser une syntaxe YAML en ligne.

Exemples

Exemple pour installer des paquets dans un CI

  • .gitlab-ci.yml :
variables:
  DEB_PACKAGES_NAME: "['apt-add-gitlab', 'gitlab-buildpkg-tools']"
  RPM_PACKAGES_NAME: "['yum-add-gitlab', 'gitlab-buildpkg-tools']"
  CI_PROJECT_NAME: gitlab-buildpkg-tools
  CI_PAGES_URL: http://orange-opensource.gitlab.io/gitlab-buildpkg-tools

Bien sûr, si vous utilisez ce playbook dans un pipeline où gitlab-buildpkg-tools est utilisé, vous n'avez pas besoin de définir les variables CI_PROJECT_NAME et CI_PAGES_URL.

Exemple pour installer des paquets avec des dépôts et des clés supplémentaires

Voir playbook-additional.yml utilisé pour des tests molecule.

Exemple pour activer ou désactiver des dépôts pour Entreprise Linux

Voir playbook-enable-disable-repos.yml utilisé pour des tests molecule.

Test de ce rôle

Ce rôle ne peut pas être complètement testé dans un pipeline GitLab car nous voulons utiliser des variables d'environnement prédéfinies qui ne peuvent pas être remplacées (CI_PAGES_URL et CI_PROJECT_NAME). Pour cette raison, nous utilisons Travis CI pour tester ce rôle.

Tests locaux

Conditions préalables :

  • molecule[docker]
  • ansible
  • docker

Exemples :

$ MOLECULE_DISTRO=debian11 \
CI_PROJECT_NAME=gitlab-buildpkg-tools \
CI_PAGES_URL=http://orange-opensource.gitlab.io/gitlab-buildpkg-tools \
MOLECULE_PLAYBOOK=playbook-ppa-and-additional.yml molecule test

$ MOLECULE_DISTRO=centos8 \
CI_PROJECT_NAME=gitlab-buildpkg-tools \
CI_PAGES_URL=http://orange-opensource.gitlab.io/gitlab-buildpkg-tools \
MOLECULE_PLAYBOOK=playbook-ppa-and-additional.yml molecule test

Licence

GPL-3.0

Informations sur l'auteur

Inverse inc info@inverse.ca

À propos du projet

Install packages from a gitlab-buildpkg-tools PPA

Installer
ansible-galaxy install inverse_inc.gitlab_buildpkg_tools
Licence
gpl-3.0
Téléchargements
126.2k
Propriétaire