inverse_inc.gitlab_buildpkg_tools
gitlab_buildpkg_tools rola
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ładowy playbook: zobacz playbook.yml używany do testów molekularnych
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
Install packages from a gitlab-buildpkg-tools PPA
ansible-galaxy install inverse_inc.gitlab_buildpkg_tools