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

Perlワンライナー他

Perlではcgiと連動してWEBアプリケーションを作るケースが多いですが、元々テキストの編集や置換が非常に便利です。 例えば、あるディレクトリにある特定のファイル名(正規表現使用可)だけを抽出する場 …

no image

Webの高速化に関して

Webの高速化に関してメモ。 高速化って言っても幅広いんですけどね。自分が行なっている対策に関して。 一応LAMP環境を前提にしてます。 Contents1 一番大事なのは測定2 DB対策3 フロント …

no image

環境変数の扱いについて

環境変数の扱いについてのメモ Contents1 .env.prodなど本番用のものをgitに入れておいてコピー2 S3などのストレージに入れておいて引っ張ってくる3 PaaSに登録4 SysteMa …

no image

nginxのデバッグ

今までいろいろと苦しめられてきた(汗)nginxのデバッグについて。 まず任意の文字や変数をログに出すことができます。 Contents1 変数の出力1.1 rewriteデバッグ2 小ネタ 変数の出 …

no image

キャッシュについて(主にmemcachedを中心に)

Webサービスのパフォーマンス向上で目に見えて効果があることの一つがDBへのアクセス回数を減らすことです。 それはSQLを発行する回数を少なくするなど、普段からのプログラムの書き方ももちろん大事なので …

アーカイブ