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

dockerコンテナ間での連携(PHP+MySQL)

dockerでのコンテナ間の連携について 以前、dockerではCentOSのイメージからコンテナを作成し、その中にphp,apache,mysqlをインストールしてましたが、dockerの使い方とし …

no image

サーバー設定ファイルについて apache

以前から気になっていたサーバーの設定ファイルに関しての疑問について調査。 本日はapacheについて学習しようと思います。 通常のapacheの設定ファイルは[crayon-61e4f594e7737 …

no image

SSH鍵認証について+CakePHP2でのセッション切れ

鍵認証の設定をしたのでその際のメモなどを。 Contents1 SSH鍵認証2 CakePHP2セッション切れ SSH鍵認証 サーバーで公開鍵・秘密鍵を作成 サーバーで公開鍵を登録 クライアント側で秘 …

no image

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

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

no image

composerでのライブラリ登録

今回はPHPのパッケージ管理ツールであるcomposerへのライブラリ登録を。 Contents1 ライブラリの作成2 packagistへの登録3 呼び出す側3.1 composer.json3.2 …