Ansibleを使用してdocker-composeをデプロイするベストプラクティスは何ですか?


7

Ansibleは、システムにdocker-composeをデプロイし、その後コンテナーを起動するために使用されます。

ansibleがローカルシステムから実行されると、Docker-composeファイルはAnsibleを使用してデプロイされます。

コードがbitbucketにプッシュされると、ファイルのコンテンツは次のようになります。

../../../../docker-compose.yml

CIはこれもシステムにデプロイします。

構造

project/ansible

project/docker-compose.yml

project/ansible/roles/role/files/docker-compose.yml

討論

docker-compose.ymlを2か所で変更する必要があることを防ぐために、シンボリックリンクが作成されていますが、このファイルにはコンテンツではなくリンクが存在するため、bitbucketでは無視されているようです。

このQ&Aは次のことを示しています。

シンボリックリンクによって参照されるデータはリポジトリに保存されません。

docker-compose.ymlでコードの重複を避けるためにシンボリックリンクを作成すると、問題が発生するようです。

回答:


2

BitBucketにそのまま保存されるシンボリックリンクを使用する代わりに、次のように使用できます。

- name: Copy docker-compose.yml
  copy:
    src: ../../../../docker-compose.yml
    dest: /path/to/docker-compose.yml
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.