2017-09-29 11 views
0

私は、より小さなリポジトリのコンポジションとして複雑な展開を構築したいと考えています。役割ごとにgitサブモジュールを使用して、デプロイ可能な構成を構成する業界標準の方法はありますか?

たとえば、私はoracle UIMのインストールとしてサーバーを構成し、jdkをインストールし、weblogicをインストールし、基本ドメインをセットアップしてから、そのスタックにUIMをドロップします。

jdkをインストールする、weblogicバイナリをインストールする、標準化されたドメイン設定をインストールするなどの標準的な設定を行うロールを作成できますが、常に微調整と抽象化が必要なものがあります。

{{install_user}}や{{DB_URL}}のように、それらの間で使用される共通変数を設定する標準はありますか?

もしそうでなければ、プロジェクトマネージャーがいなくても誰もが設計を軌道に乗せるのに良い提案がありますか?

答えて

1

は、私は約10 microservicesの本当に複雑なセットアップを持っており、彼らは共通の変数のトンを使用していて、そのために私は名前common_varsで別々の役割を作成して、それがdefaultsがすべて含まれていdefaultstasks内部に2つのだけのフォルダを、持っていますtasksには空のmain.ymlがあります。このロールをメタ変数として他のすべてのサービス展開ロールにインポートして共通変数を共有します。

-- common_vars 
| |-- defaults 
| | `-- main.yml 
| `-- tasks 
|  `-- main.yml 

マイdefaults/main.yml(実際に、それは本当に大きいです、最小限の例)を次のようになります。私の他の役割で

--- 
ENVIRONMENT: "dev" 

COMMON_BASE_DIR: "/mydir" 
COMMON_WEB_DIR: "{{ COMMON_BASE_DIR }}/www" 

COMMON_LOG_DIR: "/var/log" 

COMMON_WEB_USER: "www-data" 
COMMON_WEB_GROUP: "www-data" 


common_ubuntu_packages: 
    - git 
    - vim 
    - screen 

meta/main.yml私はこのような依存関係として追加:

--- 
dependencies: 
    - common_vars 
+0

それは、そうです。私はちょっと頭を悩ませてください。私は公的な批判と意見を求めて私自身の答えを提供するかもしれません。 –

+0

他のロールはこれらの値にアクセスできますか? –

+1

はい、あなたが 'meta/main.yml'に' dependency'として追加して、私の答えで述べたように –

関連する問題