inverse_inc.gitlab_buildpkg_tools

gitlab_buildpkg_tools 役割

ビルドステータス

gitlab-buildpkg-tools PPAをインストールします。 それに加えて、パイプラインでgitlab-buildpkg-toolsを使用して構築されたパッケージもインストールします。

この役割は、以下もサポートしています:

  • 追加のリポジトリのインストール
  • GPGキーのインストール
  • パイプラインで構築されたパッケージの依存関係を満たすためのパッケージのインストール
  • ELのリポジトリの有効化または無効化
  • ELリポジトリの優先度設定(EL8以前にはyum-prioritiesパッケージが必要)

要件

この役割は、GitLabのパイプライン内で実行するために設計されています。パイプラインの外部から呼び出すこともできますが、その場合はいくつかの変数を手動で設定する必要があります。

役割の変数

使用可能な変数は以下にリストされています。デフォルト値についてはdefaults/main.ymlを確認してください:

gitlab_buildpkg_tools__ppa_enabled

PPAリポジトリとキーをインストールするかどうかを制御します。

gitlab_buildpkg_tools__ppa_url

PPAのURL。

gitlab_buildpkg_tools__ppa_url_deb

Debian部分のPPAのURL。

gitlab_buildpkg_tools__ppa_url_centos

CentOS部分のPPAのURL。

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

GPGキーのURLまたはファイルのリスト。

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_NAMECI_PAGES_URLの変数を定義する必要はありません。

追加のリポジトリとキーを使用してパッケージをインストールする例

Moleculeテスト用のplaybook-additional.ymlを参照

エンタープライズLinuxのためにリポジトリを有効化または無効化する例

Moleculeテスト用のplaybook-enable-disable-repos.ymlを参照

この役割のテスト

この役割はGitLab CIパイプライン内で完全にはテストできません。なぜなら、上書きできない事前定義された環境変数(CI_PAGES_URLCI_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.gitlab_buildpkg_tools
ライセンス
gpl-3.0
ダウンロード
126.2k
所有者