2017-09-29 12 views
0

私たちは、さまざまな部門が独自の環境をスピンアップするために使用する全体的なコードベースを作成しています。ロールの可能なサブクラス

共通のコードベースを持ち、各部門が独自のサーバーを構成できるようにするにはどうすればよいですか?

具体例を示します。 defaults/tasks/vars/ディレクトリを含む

役割/ apacheの

:私たちは役割を持っていると言います。

ただし、部門Aは/var/www/htmlディレクトリを確保したいと考えていますが、部門Bは/opt/wwwディレクトリが必要です。

AとBが独自のディレクトリを作成するための基本的なテンプレートロールはどのように作成しますか?

defaults/main.ymlにデフォルトの変数を定義します:

dirs_list: ['/var/www/html'] 

tasks/main.ymlに必要なディレクトリを作成する作業を行います。

- file: 
    path: '{{ item }}' 
    state: directory 
    with_items: '{{ dirs_list }}' 

この方法は部門Aが持つ役割を呼び出すことができる。例えば

答えて

1

デフォルト:

roles: 
    - apache 

とDept Bがデフォルトを上書きできる:

roles: 
    - role: apache 
    dirs_list: 
     - /opt/www 
     - /var/somepath 
関連する問題