inverse_inc.gitlab_buildpkg_tools

gitlab_buildpkg_tools rola

Status Budowy

Instaluje gitlab-buildpkg-tools PPA oraz pakiety budowane przy użyciu gitlab-buildpkg-tools w pipeline.

Ta rola wspiera również:

  • instalację dodatkowych repozytoriów
  • instalację kluczy GPG
  • instalację pakietów potrzebnych do zaspokojenia zależności budowanych pakietów w pipeline
  • włączanie lub wyłączanie repozytoriów dla EL
  • ustawianie priorytetu dla repozytoriów EL (wymaga pakietu yum-priorities przed EL8)

Wymagania

Rola zaprojektowana do uruchamiania w pipeline GitLab. Może być wywoływana także poza pipeline, ale będziesz musiał ręcznie ustawić kilka zmiennych.

Zmienna roli

Dostępne zmienne są wymienione poniżej, sprawdź defaults/main.yml dla domyślnych wartości:

gitlab_buildpkg_tools__ppa_enabled

Kontroluje, czy repozytorium PPA i klucz powinny zostać zainstalowane.

gitlab_buildpkg_tools__ppa_url

Adres URL PPA.

gitlab_buildpkg_tools__ppa_url_deb

Adres URL PPA z częścią Debian.

gitlab_buildpkg_tools__ppa_url_centos

Adres URL PPA z częścią CentOS.

gitlab_buildpkg_tools__deb_ppa

Parametry repozytorium PPA dla Debiana.

gitlab_buildpkg_tools__rpm_ppa

Parametry repozytorium PPA dla RPM.

gitlab_buildpkg_tools__deb_deps_pkgs

Lista zależności Debiana do instalacji repozytoriów.

gitlab_buildpkg_tools__deb_deps_pkgs_state

Stan zależności Debiana.

gitlab_buildpkg_tools__deb_keys

Lista kluczy GPG URL.

gitlab_buildpkg_tools__deb_combined_keys

Lista kluczy GPG do zainstalowania (PPA + dodatkowe).

gitlab_buildpkg_tools__deb_sources_dir

Katalog Debiana do przechowywania plików repozytoriów.

gitlab_buildpkg_tools__deb_deps_repos

Lista dodatkowych repozytoriów Debiana.

gitlab_buildpkg_tools__deb_combined_repos

Lista repozytoriów Debiana do zainstalowania.

gitlab_buildpkg_tools__deb_pkgs

Lista pakietów Debiana do zainstalowania.

gitlab_buildpkg_tools__deb_pkgs_state

Stan pakietów Debiana do zainstalowania.

gitlab_buildpkg_tools__rpm_deps_pkgs

Lista zależności CentOS do instalacji repozytoriów.

gitlab_buildpkg_tools__rpm_deps_pkgs_state

Stan zależności CentOS.

gitlab_buildpkg_tools__rpm_keys

Lista kluczy GPG jako URL lub pliki.

gitlab_buildpkg_tools__rpm_combined_keys

Lista kluczy GPG do zainstalowania (PPA + dodatkowe).

gitlab_buildpkg_tools__rpm_deps_repos

Lista dodatkowych repozytoriów CentOS.

gitlab_buildpkg_tools__rpm_enabled_repos

Lista repozytoriów CentOS do włączenia/wyłączenia.

gitlab_buildpkg_tools__rpm_combined_repos

Lista repozytoriów CentOS do zainstalowania.

gitlab_buildpkg_tools__rpm_pkgs

Lista pakietów CentOS do zainstalowania.

gitlab_buildpkg_tools__rpm_pkgs_state

Stan pakietów CentOS do zainstalowania.

Zmienne środowiskowe do ustawienia w pipeline (patrz poniżej):

  • CI_PROJECT_NAME
  • CI_PAGES_URL
  • DEB_PACKAGES_NAME
  • RPM_PACKAGES_NAME

Ograniczenia

Ograniczenia dla Debiana

  • Klucze GPG muszą być dodane przez URL
  • Pakiety Debiana muszą być instalowane po nazwie

Zmienne środowiskowe w .gitlab-ci.yml

W pliku .gitlab-ci.yml możesz zdefiniować zmienne środowiskowe, takie jak DEB_PACKAGES_NAME:, ale te zmienne nie mogą być czystą listą YAML ani słownikiem. Dlatego musisz używać składni YAML w linii.

Przykłady

Przykład instalacji pakietów w ramach 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

Oczywiście, jeśli używasz tego playbooka w pipeline, gdzie gitlab-buildpkg-tools jest używane, nie musisz definiować zmiennych CI_PROJECT_NAME i CI_PAGES_URL.

Przykład instalacji pakietów z dodatkowymi repozytoriami i kluczami

Zobacz playbook-additional.yml używany do testów molekularnych.

Przykład włączania lub wyłączania repozytoriów dla Enterprise Linux

Zobacz playbook-enable-disable-repos.yml używany do testów molekularnych.

Test tej roli

Ta rola nie może być w pełni testowana w pipeline GitLab, ponieważ chcemy używać wstępnie zdefiniowanych zmiennych środowiskowych, które nie mogą być nadpisywane (CI_PAGES_URL i CI_PROJECT_NAME). Z tego powodu używamy Travis CI do testowania tej roli.

Testy lokalne

Wymagania wstępne:

  • molecule[docker]
  • ansible
  • docker

Przykłady:

$ 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

Licencja

GPL-3.0

Informacje o autorze

Inverse inc info@inverse.ca

O projekcie

Install packages from a gitlab-buildpkg-tools PPA

Zainstaluj
ansible-galaxy install inverse_inc.gitlab_buildpkg_tools
Licencja
gpl-3.0
Pobrania
126.2k
Właściciel