As it was originally designed, a copy of the piecewise code is cloned onto the remote server and then links to specific files/folders are created to that remote repository. This was advantageous for our initial deployments where the original frontend was a separate git submodule. You could log into the server and run git pull from the piecewise_web folder.
Now that we have a more flexible approach to templating files using Ansible, having links instead of actual files is problematic for updating specific parts of the application, for example to correct a typo or update the CSS. Attempting to do that now results in errors because changes to the remote git repository are detected and the update playbooks fail.
Change the way piecewise files get deployed so that individual components of the app can be updated independently via separate Ansible playbooks. For example update_frontend.yml could update just CSS, included JavaScript and HTML pages. update_backend.yml could update database components.
As it was originally designed, a copy of the piecewise code is cloned onto the remote server and then links to specific files/folders are created to that remote repository. This was advantageous for our initial deployments where the original frontend was a separate git submodule. You could log into the server and run git pull from the piecewise_web folder.
Now that we have a more flexible approach to templating files using Ansible, having links instead of actual files is problematic for updating specific parts of the application, for example to correct a typo or update the CSS. Attempting to do that now results in errors because changes to the remote git repository are detected and the update playbooks fail.
Change the way piecewise files get deployed so that individual components of the app can be updated independently via separate Ansible playbooks. For example update_frontend.yml could update just CSS, included JavaScript and HTML pages. update_backend.yml could update database components.