skillup

技術ブログ

サーバー・ネットワーク

ansible template,tag,yeditなど

投稿日:2017年4月3日 更新日:

template

今まで設定ファイルを使うときは基本ini_fileを使って置換したり、ローカルでファイルを作ってcopyしておりましたが、ansibleにはtemplateという機能があります。

簡単に言えばWebアプリケーションのようにHTMLテンプレートを用意し、その中に変数を埋め込むことができます。

例えばnginxをインストールするときは通常nginx自体もそうですが、それとともに/etc/nginx/conf.d/以下に設定ファイルも追加することが一般的だと思います。

templateタグをみていただければsrcがテンプレート自体 destがコピー先ということはわかるかと思います。

ここで.nginx.j2というテンプレートを用意する必要があります。

pythonでかかれていますが、設定ファイルに書くような情報は基本的には変数の置換ぐらいしか私はないため、ほとんどpythonがわからなくても行けます。

ちなみに私が書いたのは次のようなものです。ほとんどnginxの設定ファイルをそのまま持ってきて、動的な部分だけ変数にしました。

Ansible ~templateモジュール~

tags

一つのymlファイルの中でも特定のタスクだけを実行させたい or 逆に実行させたくないということはあるかと思います。

そんな時に使えるのがtagです。

上記のnginxの設定ファイル作成時に書いていますがtags: タグ名をつけておくことで、実行時に–tags タグ名でそのタスクだけを実行させることができます。飛ばす場合は–skip-tagsで飛ばせます。

Ansibleでタグを使ってみる

yedit

ymlファイルを書くときに最初はvimで書いてたんですが、eclipseでもプラグインを入れることで書けます。

  1. ウィンドウタブから新規ソフトウェアのインストール選択
  2. 名前 yedit、ロケーション http://dadacoalition.org/yedit
  3. YEditをチェック、インストール
  4. 再起動後、設定でYEdit Referenceが入っていることを確認
  5. ymlファイルを開くときに右クリックで次で開くの時にYEdit  YAML Editorを選択すればOK

yml最初書いていた時は構文のルールとかよくわからないで実行されずイライラしていたんでこれでsyntaxチェックとかしてくれるのがありがたいです。

-サーバー・ネットワーク
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

herokuでのLet’s Encrypt設定

herokuで運用しているアプリでhttps設定(Let’s Encrypt)をしたいという要望があり、調査、設定をすることに。 当然herokuでなくても大丈夫です。 過去に行ったhtt …

no image

dockerでの環境構築 〜コンテナ作成し、実作業ができるまで(mac編)

今や環境構築の保存や移行などが比較的自由にできるようにはなってきていると思います。 自分の場合は未だにvagrantのイメージフォルダを移行してやっていますが(汗)。 参考リンク vagrantで仮想 …

no image

自力での監視

Zabbixの勉強を進めていますが、マニュアル通りに設定していて、中で何をやっているかをあまり理解していなかったりします。 それだとちょっとまずいのでZabbixでの構築とともに自力での監視スクリプト …

no image

Code4兄弟に関して(CodeCommit,CodeDeploy,CodeBuild,CodePipeline)

前回の記事で書いたCodeDeploy以外にもCI/CD絡みで色々と使用するサービスがあるので自分用にメモ。 Code兄弟なっていうようで・・・・ Contents1 各サービス1.1 CodeCom …

no image

mod_aliasに関して

同一ドメインでパスによってルートディレクトを分けたい時。 この場合、apacheの設定ファイルをいじることになります。 一般的にはhttpd.confではなく*.confと言った設定ファイルを使い、エ …

アーカイブ