LoginSignup
7
6

More than 5 years have passed since last update.

dotenvを利用して、Ansibleタスク中で環境変数を取得する

Last updated at Posted at 2016-04-27

表題の通り、.envに書いた環境変数をAnsibleから取得する方法です。

dotenvをインストールしていない場合は、インストールして下さい。

gem install dotenv

読み込みたい環境変数を.envファイルに記述します。

.env
DB_HOST=example.com

Ansibleのタスクではlookup関数を利用して環境変数を取得します。

- name: echo
  shell: bash -lc "echo {{ lookup('env', 'DB_HOST') }}"

playbook実行時に、dotenvコマンドとつけて実行すれば、.envファイルに書いた環境変数がlookupコマンドで取得出来るようになります。

dotenv ansible-playbook playbook.yml -i inventory

ansible-dotenvというプラグインも存在しているようですが、環境変数の読み込みとansibleは別々の機能と考えたいので、個人的には先頭にdotenvコマンドをつけて実行するほうが好みです。


.envファイルはコミットしないように気をつけましょう!

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6