This enables finer control (via excludes) when seeding the destination
directory for rsync. Because we know we have rsync available, we can use
rsync rather than cp by using configuration like this example:
strategy: rsync
rsync:
copy: true
copy_tool_rsync: true
rsync_excludes: ["assets", "silverstripe-cache"]
The default tool remains cp, so this change is backward-compatible.
One task for generating the composer production autoloader, one
for linking shared files and folders into the release and
one to set filesystem acls while rolling out a new release.
This tasks uses a remote checkout on the server to provide the release.
In our use case this remote cache resides in $to/$shared/git-remote-cache,
variable 'shared' is substituted with "shared" by default. At this time, the
remote cache is not build automatically, you need to provide a clean
checkout before you can start using it.
any un-encoded/encrypted files.
This checks against an array of file extens (used mainly to exclude
images and javascript etc.)
It also checks against an array of paths/filenames.
These 2 should maybe be combined into a single array?
If any files are found to not be encoded and havnt been excluded, then
user is prompted to confirm they wish to proced.
This is designed as a last confirmation that you have encoded all the
files that you need, and are not about to push unsecured files to a
server.
files have been encrypted/encoded, and prompt user to confirm
if the deploy should continue if any files are found to
not be encoded.
TEST - DO NOT USE!
ADVICE: there is no Backwards Compatibility with custom tasks, those
using the _config instance will be broken or those using the
getEnvironmentName().