カテゴリー
Linux

【Ansible】yum モジュールで冪等性を保ったまま remi-release-7 リポジトリをインストールする書き方

はじめに

Ansible の yum モジュールでパッケージを指定したとき、通常ですとインストールがすでにされているか否かを気にする必要はなく、冪等性の担保も意識する必要がございません。

これと同じ気持ちで remi-release-7.rpm を yum モジュールでインストールしましたところ、2 回目のインストールで失敗してしまいました><。

TASK [php-fpm : Install remi-release-7] ****************************************
fatal: [default]: FAILED! => {"changed": true, "failed": true, "msg": "エラー: 何もしません\n", "rc": 1, "results": ["読み込んだプラグイン:fastestmirror\n/var/tmp/yum-root-YOhnx0/remi-release-7.rpm を調べています: remi-release-7.3-1.el7.remi.noarch\n/var/tmp/yum-root-YOhnx0/remi-release-7.rpm: インストールされたパッケージを更新しません。\n"]}
	to retry, use: --limit @/vagrant/ansible/site.retry

したがいまして、remi-release-7.rpm がインストールされているかどうかを評価する記述を追加しなければなりません!

今回は、その記録をノートいたします。

ポイント

  • stat を使用してインストールされるファイルの状態を取得する処理を入れ、結果を register を使って変数に代入する。
  • 変数.stat.exits を評価することでファイルの存在をチェックする。
  • デバッグ出力で内容を確認するために、debug を使用する。

Ansible コード例

カテゴリー
WordPress

【WordPress】Github で管理している子テーマのインストールは、WP-CLI のコマンド 1 発で完了できます♪

ポイント

  • wp theme <theme|zip|url> でインストール
  • --activate とオプションで即有効化
  • Github にホストしているリポジトリの zip の URL を指定する。
    具体的には Clone or download > Download ZIP

コマンド

# oki2a24com-twentyseventeen-child テーマをインストールし、有効化
wp theme install https://github.com/oki2a24/oki2a24com-twentyseventeen-child/archive/master.zip --activate

実際にやってみると次のようになりました♪