gitlab_buildpkg_tools

Роль gitlab_buildpkg_tools

Статус сборки

Установите gitlab-buildpkg-tools PPA и пакеты, созданные с помощью gitlab-buildpkg-tools в пайплайне.

Эта роль также поддерживает:

  • установку дополнительных репозиториев
  • установку GPG ключей
  • установку пакетов для удовлетворения зависимостей собранных пакетов в пайплайне
  • активацию или деактивацию репозиториев для EL
  • установку приоритета для EL репозиториев (необходим пакет yum-priorities перед EL8)

Требования

Роль предназначена для запуска в пайплайне GitLab. Она может быть вызвана вне пайплайна, но вам нужно будет установить некоторые переменные вручную.

Переменные роли

Доступные переменные перечислены ниже, проверьте defaults/main.yml для значений по умолчанию:

gitlab_buildpkg_tools__ppa_enabled

Управляет тем, следует ли устанавливать репозиторий и ключ PPA.

gitlab_buildpkg_tools__ppa_url

URL PPA.

gitlab_buildpkg_tools__ppa_url_deb

URL PPA с Debian частью.

gitlab_buildpkg_tools__ppa_url_centos

URL PPA с CentOS частью.

gitlab_buildpkg_tools__deb_ppa

Параметры репозитория Debian PPA.

gitlab_buildpkg_tools__rpm_ppa

Параметры RPM PPA репозитория.

gitlab_buildpkg_tools__deb_deps_pkgs

Список зависимостей Debian для установки репозиториев.

gitlab_buildpkg_tools__deb_deps_pkgs_state

Состояние зависимостей Debian.

gitlab_buildpkg_tools__deb_keys

Список GPG ключей URL.

gitlab_buildpkg_tools__deb_combined_keys

Список GPG ключей для установки (PPA + дополнительные).

gitlab_buildpkg_tools__deb_sources_dir

Директория Debian для хранения файлов репозиториев.

gitlab_buildpkg_tools__deb_deps_repos

Список дополнительных репозиториев Debian.

gitlab_buildpkg_tools__deb_combined_repos

Список репозиториев Debian для установки.

gitlab_buildpkg_tools__deb_pkgs

Список пакетов Debian для установки.

gitlab_buildpkg_tools__deb_pkgs_state

Состояние пакетов Debian для установки.

gitlab_buildpkg_tools__rpm_deps_pkgs

Список зависимостей CentOS для установки репозиториев.

gitlab_buildpkg_tools__rpm_deps_pkgs_state

Состояние зависимостей CentOS.

gitlab_buildpkg_tools__rpm_keys

Список URL или файлов GPG ключей.

gitlab_buildpkg_tools__rpm_combined_keys

Список GPG ключей для установки (PPA + дополнительные).

gitlab_buildpkg_tools__rpm_deps_repos

Список дополнительных репозиториев CentOS.

gitlab_buildpkg_tools__rpm_enabled_repos

Список репозиториев CentOS для активации/деактивации.

gitlab_buildpkg_tools__rpm_combined_repos

Список репозиториев CentOS для установки.

gitlab_buildpkg_tools__rpm_pkgs

Список пакетов CentOS для установки.

gitlab_buildpkg_tools__rpm_pkgs_state

Состояние пакетов CentOS для установки.

Переменные окружения для установки в пайплайне (см. ниже):

  • CI_PROJECT_NAME
  • CI_PAGES_URL
  • DEB_PACKAGES_NAME
  • RPM_PACKAGES_NAME

Ограничения

Ограничения Debian

  • GPG ключи нужно добавлять по URL
  • Пакеты Debian нужно устанавливать по именам

Переменные окружения в .gitlab-ci.yml

В файле .gitlab-ci.yml вы можете определять переменные окружения, такие как DEB_PACKAGES_NAME:, но эти переменные не могут быть чистым списком YAML или словарем. Поэтому необходимо использовать встроенный синтаксис YAML.

Примеры

Пример установки пакетов внутри 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

Конечно, если вы используете этот плейбук в пайплайне, где используется gitlab-buildpkg-tools, вам не нужно определять переменные CI_PROJECT_NAME и CI_PAGES_URL.

Пример установки пакетов с дополнительными репозиториями и ключами

Смотрите playbook-additional.yml для тестов молекул.

Пример активации или деактивации репозиториев для Enterprise Linux

Смотрите playbook-enable-disable-repos.yml для тестов молекул.

Тестирование этой роли

Эта роль не может быть полностью протестирована в пайплайне GitLab, потому что мы хотим использовать предопределенные переменные окружения, которые не могут быть переопределены (CI_PAGES_URL и CI_PROJECT_NAME). По этой причине мы используем Travis CI для тестирования этой роли.

Локальные тесты

Предварительные условия:

  • molecule[docker]
  • ansible
  • docker

Примеры:

$ 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

Лицензия

GPL-3.0

Информация об авторе

Inverse inc info@inverse.ca

О проекте

Install packages from a gitlab-buildpkg-tools PPA

Установить
ansible-galaxy install inverse-inc/ansible-role-gitlab-buildpkg-tools
Лицензия
gpl-3.0
Загрузки
108301
Владелец