inverse_inc.gitlab_buildpkg_tools

gitlab_buildpkg_tools Rolle

Build Status

Installiert ein gitlab-buildpkg-tools PPA und Pakete, die mit gitlab-buildpkg-tools in einer Pipeline erstellt wurden.

Diese Rolle unterstützt auch:

  • Installation zusätzlicher Repositories
  • Installation von GPG-Schlüsseln
  • Installation von Paketen, um die Abhängigkeiten der in der Pipeline erstellten Pakete zu erfüllen
  • Aktivieren oder Deaktivieren von Repositories für EL
  • Einstellen der Priorität für EL-Repositories (benötigt yum-prioritäten-Paket vor EL8)

Anforderungen

Die Rolle ist für die Ausführung in einer GitLab-Pipeline ausgelegt. Sie kann auch außerhalb einer Pipeline aufgerufen werden, aber Sie müssen einige Variablen manuell setzen.

Rollenvariablen

Verfügbare Variablen sind unten aufgelistet, überprüfen Sie defaults/main.yml für Standardwerte:

gitlab_buildpkg_tools__ppa_enabled

Steuert, ob das PPA-Repo und der Schlüssel installiert werden sollen.

gitlab_buildpkg_tools__ppa_url

URL des PPA.

gitlab_buildpkg_tools__ppa_url_deb

URL des PPA mit dem Debian-Teil.

gitlab_buildpkg_tools__ppa_url_centos

URL des PPA mit dem CentOS-Teil.

gitlab_buildpkg_tools__deb_ppa

Parameter für Debian PPA-Repos.

gitlab_buildpkg_tools__rpm_ppa

Parameter für RPM PPA-Repos.

gitlab_buildpkg_tools__deb_deps_pkgs

Liste von Debian-Abhängigkeiten zum Installieren von Repos.

gitlab_buildpkg_tools__deb_deps_pkgs_state

Zustand der Debian-Abhängigkeiten.

gitlab_buildpkg_tools__deb_keys

Liste von GPG-Schlüsseln URL.

gitlab_buildpkg_tools__deb_combined_keys

Liste von GPG-Schlüsseln zur Installation (PPA + zusätzliche).

gitlab_buildpkg_tools__deb_sources_dir

Debian-Verzeichnis zur Speicherung von Repos-Dateien.

gitlab_buildpkg_tools__deb_deps_repos

Liste zusätzlicher Debian-Repos.

gitlab_buildpkg_tools__deb_combined_repos

Liste von Debian-Repos zur Installation.

gitlab_buildpkg_tools__deb_pkgs

Liste von Debian-Paketen zur Installation.

gitlab_buildpkg_tools__deb_pkgs_state

Zustand der zu installierenden Debian-Pakete.

gitlab_buildpkg_tools__rpm_deps_pkgs

Liste von CentOS-Abhängigkeiten zum Installieren von Repos.

gitlab_buildpkg_tools__rpm_deps_pkgs_state

Zustand der CentOS-Abhängigkeiten.

gitlab_buildpkg_tools__rpm_keys

Liste von GPG-Schlüsseln URL oder Dateien.

gitlab_buildpkg_tools__rpm_combined_keys

Liste von GPG-Schlüsseln zur Installation (PPA + zusätzliche).

gitlab_buildpkg_tools__rpm_deps_repos

Liste zusätzlicher CentOS-Repos.

gitlab_buildpkg_tools__rpm_enabled_repos

Liste von CentOS-Repos zum Aktivieren/Deaktivieren.

gitlab_buildpkg_tools__rpm_combined_repos

Liste von CentOS-Repos zur Installation.

gitlab_buildpkg_tools__rpm_pkgs

Liste von CentOS-Paketen zur Installation.

gitlab_buildpkg_tools__rpm_pkgs_state

Zustand der zu installierenden CentOS-Pakete.

Umgebungsvariablen, die in einer Pipeline gesetzt werden müssen (siehe unten):

  • CI_PROJECT_NAME
  • CI_PAGES_URL
  • DEB_PACKAGES_NAME
  • RPM_PACKAGES_NAME

Einschränkungen

Debian-Einschränkungen

  • GPG-Schlüssel müssen über eine URL hinzugefügt werden
  • Debian-Pakete müssen über den Namen installiert werden

Umgebungsvariablen in .gitlab-ci.yml

In einer .gitlab-ci.yml-Datei können Sie Umgebungsvariablen wie DEB_PACKAGES_NAME: definieren, aber diese Variablen dürfen keine reine YAML-Liste oder ein Wörterbuch sein. Folglich müssen Sie eine Inline-YAML-Syntax verwenden.

Beispiele

Beispiel zum Installieren von Paketen innerhalb eines 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

Wenn Sie dieses Playbook innerhalb einer Pipeline verwenden, in der gitlab-buildpkg-tools verwendet wird, müssen Sie die Variablen CI_PROJECT_NAME und CI_PAGES_URL nicht definieren.

Beispiel zum Installieren von Paketen mit zusätzlichen Repos und Schlüsseln

Siehe playbook-additional.yml zur Verwendung für Molecule-Tests.

Beispiel zum Aktivieren oder Deaktivieren von Repos für Enterprise Linux

Siehe playbook-enable-disable-repos.yml zur Verwendung für Molecule-Tests.

Test dieser Rolle

Diese Rolle kann nicht vollständig in einer GitLab CI-Pipeline getestet werden, da wir vordefinierte Umgebungsvariablen verwenden möchten, die nicht überschrieben werden können (CI_PAGES_URL und CI_PROJECT_NAME). Aus diesem Grund verwenden wir Travis CI, um diese Rolle zu testen.

Lokale Tests

Voraussetzungen:

  • molecule[docker]
  • ansible
  • docker

Beispiele:

$ 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

Lizenz

GPL-3.0

Autoreninformation

Inverse Inc info@inverse.ca

Über das Projekt

Install packages from a gitlab-buildpkg-tools PPA

Installieren
ansible-galaxy install inverse_inc.gitlab_buildpkg_tools
GitHub Repository
Lizenz
gpl-3.0
Downloads
126.2k
Besitzer