Ansible用于在系统上部署docker-compose,然后启动容器。

从本地系统运行ansible时,将使用Ansible部署docker-compose文件。

将代码推送到位桶时,文件内容为:

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


,CI也将其部署在系统上。

结构

project/ansible

project/docker-compose.yml

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


讨论

为了防止需要在两个位置更改docker-compose.yml,已创建了符号链接,但由于链接而不是内容驻留在此文件中,因此它似乎被位桶忽略。

此问答表明:


所引用的数据符号链接未存储在存储库中。


并创建符号链接以避免docker-compose.yml中的代码重复。

#1 楼

代替使用将按BitBucket中的原样存储的符号链接,可以使用:

- name: Copy docker-compose.yml
  copy:
    src: ../../../../docker-compose.yml
    dest: /path/to/docker-compose.yml