ansible - 从角色复制整个文件夹结构与现有文件合并/覆盖
问题描述
我使用 Ansible 在新安装的系统上部署我的用户特定配置(shell、文本编辑器等)。这就是为什么我在我的角色文件目录中拥有所有配置文件的原因,其结构与它们应该放在我的主目录中的方式相同。
实现这一点的正确方法是什么?我不想列出角色中的每个文件,并且应该覆盖现有文件,应该合并现有目录。
我已经尝试过复制模块,但整个任务都被跳过了;我假设因为父目录(.config)已经存在。
编辑:添加请求的附加信息
Ansible 版本:2.9.9
角色复制任务:
- name: Install user configurations
copy:
src: "home/"
dest: "{{ ansible_env.HOME }}"
要在角色目录中复制的文件:
desktop-enviroment
├── defaults
│ └── main.yml
├── files
│ └── home
│ ├── .config
│ │ ├── autostart-scripts
│ │ │ └── ssh-keys.sh
│ │ ├── MusicBrainz
│ │ │ ├── Picard
│ │ │ ├── Picard.conf
│ │ │ └── Picard.ini
│ │ ├── sublime-text-3
│ │ │ ├── Installed Packages
│ │ │ ├── Lib
│ │ │ ├── Local
│ │ │ └── Packages
│ │ └── yakuakerc
│ └── .local
│ └── share
│ ├── plasma
│ └── yakuake
├── handlers
│ └── main.yml
├── meta
│ └── main.yml
├── tasks
│ ├── desktop-common.yaml
│ ├── desktop-gnome.yaml
│ ├── desktop-kde.yaml
│ └── main.yml
├── templates
└── vars
└── main.yml
相关的ansible输出:
TASK [desktop-enviroment : Install user configurations] **
ok: [localhost]
解决方案
推荐阅读
- android - android studio 是否有像 visual studio 那样的实时调试功能以及在哪里
- minecraft-forge - 我如何制作一个通往我的模组中的维度的门户?
- javascript - 按时区显示时间新日期
- javascript - 如何在单击按钮时将绑定变量的值传递给模板中的方法
- java - Spring boot @Getmapping 重定向错误
- php - 如何优化 Laravel 中的增量查询?
- jquery - Laravel 7依赖下拉3级
- swift - 在 Swift 中使用 Process() 拦截 ffmpeg 标准输出
- angular - RXJS - 打字稿 - 等待可观察的发射,直到另一个可观察的
是假的 - python-3.x - 将字符串列转换为 int pandas DataFrame