Last active
December 23, 2022 14:20
-
-
Save louim/b16091082746dc920f20 to your computer and use it in GitHub Desktop.
Drop-in playbook for Trellis to push and pull uploads from the server to your local machine.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
- name: Sync uploads between environments | |
hosts: web | |
remote_user: "{{ web_user }}" | |
vars: | |
project: "{{ wordpress_sites[site] }}" | |
project_root: "{{ www_root }}/{{ site }}" | |
tasks: | |
# ansible-playbook uploads.yml -i hosts/staging --extra-vars="site=example.com mode=push" | |
- name: Push uploads | |
synchronize: | |
src: "{{ project.local_path }}/web/app/uploads/" | |
dest: "{{ project_root }}/current/web/app/uploads/" | |
rsync_opts: --exclude=.DS_Store | |
when: mode is not defined or mode == "push" | |
# ansible-playbook uploads.yml -i hosts/staging --extra-vars="site=example.com mode=pull" | |
- name: Pull uploads | |
synchronize: | |
src: "{{ project_root }}/current/web/app/uploads/" | |
dest: "{{ project.local_path }}/web/app/uploads/" | |
mode: pull | |
rsync_opts: --exclude=.DS_Store | |
when: mode is defined and mode == "pull" |
cool..thanks!
Thanks. This works perfectly
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks a lot. This is still working great and saving me a lot of time, but just a note for anyone using Kinsta: Using a site with the recommended structure (conforming to the trellis example project) I had to change
project_root: "{{ www_root }}/{{ site }}"
to justproject_root: "{{ www_root }}"
. If you want to be picky, delete that line entirely and change the two occurrences of "project_root" to "www_root".