inverse_inc.gitlab_buildpkg_tools

rol de gitlab_buildpkg_tools

Estado de Construcción

Instala un PPA de gitlab-buildpkg-tools y paquetes construidos con gitlab-buildpkg-tools en una tubería (pipeline).

Este rol también soporta:

  • instalar repositorios adicionales
  • instalar claves GPG
  • instalar paquetes para satisfacer dependencias de paquetes construidos en la tubería
  • habilitar o deshabilitar repositorios para EL
  • establecer prioridad para repositorios EL (necesita el paquete yum-priorities antes de EL8)

Requisitos

El rol está diseñado para ser ejecutado en una tubería de GitLab. Se puede llamar fuera de una tubería, pero tendrás que establecer algunas variables manualmente.

Variables del Rol

Las variables disponibles se enumeran a continuación, consulta defaults/main.yml para ver los valores predeterminados:

gitlab_buildpkg_tools__ppa_enabled

Controla si se debe instalar el repositorio y la clave PPA.

gitlab_buildpkg_tools__ppa_url

URL del PPA.

gitlab_buildpkg_tools__ppa_url_deb

URL del PPA con la parte de Debian.

gitlab_buildpkg_tools__ppa_url_rpm

URL del PPA con la parte de CentOS.

gitlab_buildpkg_tools__deb_ppa

Parámetros del repositorio Debian PPA.

gitlab_buildpkg_tools__rpm_ppa

Parámetros del repositorio RPM PPA.

gitlab_buildpkg_tools__deb_deps_pkgs

Lista de dependencias de Debian para instalar repos.

gitlab_buildpkg_tools__deb_deps_pkgs_state

Estado de las dependencias de Debian.

gitlab_buildpkg_tools__deb_keys

Lista de claves GPG URL.

gitlab_buildpkg_tools__deb_combined_keys

Lista de claves GPG a instalar (PPA + adicional).

gitlab_buildpkg_tools__deb_sources_dir

Directorio Debian para almacenar archivos de repos.

gitlab_buildpkg_tools__deb_deps_repos

Lista de repos adicionales de Debian.

gitlab_buildpkg_tools__deb_combined_repos

Lista de repos Debian para instalar.

gitlab_buildpkg_tools__deb_pkgs

Lista de paquetes Debian para instalar.

gitlab_buildpkg_tools__deb_pkgs_state

Estado de los paquetes Debian a instalar.

gitlab_buildpkg_tools__rpm_deps_pkgs

Lista de dependencias de CentOS para instalar repos.

gitlab_buildpkg_tools__rpm_deps_pkgs_state

Estado de las dependencias de CentOS.

gitlab_buildpkg_tools__rpm_keys

Lista de claves GPG URL o archivos.

gitlab_buildpkg_tools__rpm_combined_keys

Lista de claves GPG a instalar (PPA + adicional).

gitlab_buildpkg_tools__rpm_deps_repos

Lista de repos adicionales de CentOS.

gitlab_buildpkg_tools__rpm_enabled_repos

Lista de repos de CentOS a habilitar/deshabilitar.

gitlab_buildpkg_tools__rpm_combined_repos

Lista de repos de CentOS para instalar.

gitlab_buildpkg_tools__rpm_pkgs

Lista de paquetes CentOS para instalar.

gitlab_buildpkg_tools__rpm_pkgs_state

Estado de los paquetes CentOS a instalar.

Variables de entorno a establecer en una tubería (ver abajo):

  • CI_PROJECT_NAME
  • CI_PAGES_URL
  • DEB_PACKAGES_NAME
  • RPM_PACKAGES_NAME

Limitaciones

Limitaciones de Debian

  • Las claves GPG deben añadirse por URL
  • Los paquetes Debian deben instalarse por nombre

Variables de Entorno en .gitlab-ci.yml

En un archivo .gitlab-ci.yml, puedes definir variables de entorno como DEB_PACKAGES_NAME: pero estas variables no pueden ser una lista o diccionario puro de YAML. Consecuentemente, necesitas usar una sintaxis YAML en línea.

Ejemplos

Ejemplo para instalar paquetes dentro de 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

Por supuesto, si usas este playbook dentro de una tubería donde se utiliza gitlab-buildpkg-tools, no necesitas definir las variables CI_PROJECT_NAME y CI_PAGES_URL.

Ejemplo para instalar paquetes con repos y claves adicionales

Ver playbook-additional.yml usado para pruebas de moléculas.

Ejemplo para habilitar o deshabilitar repos para Enterprise Linux

Ver playbook-enable-disable-repos.yml usado para pruebas de moléculas.

Prueba de este rol

Este rol no puede ser totalmente probado en una tubería de GitLab porque queremos usar variables de entorno predefinidas que no pueden ser sobreescritas (CI_PAGES_URL y CI_PROJECT_NAME). Por esta razón, usamos Travis CI para probar este rol.

Pruebas Locales

Requisitos previos:

  • molecule[docker]
  • ansible
  • docker

Ejemplos:

$ 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

Licencia

GPL-3.0

Información del Autor

Inverse inc info@inverse.ca

Acerca del proyecto

Install packages from a gitlab-buildpkg-tools PPA

Instalar
ansible-galaxy install inverse_inc.gitlab_buildpkg_tools
Licencia
gpl-3.0
Descargas
126.2k
Propietario