Ansibleを使用してカスタムリポジトリからMariaDB(または任意のソフトウェア)をインストールしようとしていますが、yum/ yum_repository モジュールを使用して.repoファイルをインポートする方法がわかりません。
これが私のプレイブックです:
-
hosts: all
become: true
remote_user: root
tasks:
-
name: set system timezone
timezone:
name: America/Toronto
-
name: add custom repository
yum_repository:
name: centos_o
description: custom repositories
baseurl: http://example.net/mirror/centos_o.repo
-
name: ensure mariadb is installed
yum:
name: mariadb-server-5.5.*
state: installed
私はinclude
、metalink
、baseurl
、mirrorlist
をすべて試しましたが、うまくいきませんでした。また、GPGキーステップがありませんが、リポジトリを適切に追加することもできません。
Centos_o.repoファイルは次のようになります。
# JENKINS
[jenkins]
name=CentOS-$releasever - JENKINS
baseurl=http://example.net/mirror/jenkins/
enabled=0
gpgcheck=1
# MariaDB 5.5
[mariadb]
name=CentOS-$releasever - MariaDB
baseurl=http://example.net/mirror/mariadb/yum/5.5/centos$releasever-AMD64/
enabled=0
gpgcheck=1
# MariaDB 10.0
[mariadb]
name=CentOS-$releasever - MariaDB
baseurl=http://example.net/mirror/mariadb/yum/10.0/centos$releasever-AMD64/
enabled=0
gpgcheck=1
これは、Ansibleに変換しようとしているシェルスクリプトバージョンです。
yum clean all
yum-config-manager --add-repo=http://example.net/mirror/centos_o.repo
yum-config-manager --enable mariadb
rpm --import http://example.net/mirror/mariadb/RPM-GPG-KEY-MariaDB
何か違いがある場合は、CentOSボックスでVagrantの Ansible local プロビジョナーを使用してこれを実行しています。
それは 現れる あなたが正しいということです、彼らはあなたが何を求めているかを提供しません。それらのモデルは、yum_repository:
ファイルに既にあるbaseurl=
値のそれぞれを使用して、.repo
を3回呼び出すようなモデルです。
したがって、状況に応じて、command:
を使用して、シェルと同じようにyum-config-manager --add-repo
を実行することをお勧めします。唯一の問題は、yum-config-manager --add-repo=
がべき等でない場合です。その場合、同じリポジトリファイルが実行されるたびに繰り返し追加されないように、command:
を手動で保護する必要があります。 。