Using Assets in the YAML file

When the Assets Storage is enabled Squash will automatically add a new /assets/ mount point for all deployments within the repository.

Using the copy_files_build_process feature in the YAML file

Here you would manually copy files or folders within the build process defined in the .squash.yml file. This will essentially transfer data from the assets folder to a different location within your source tree. Then you can use the files as part of your application’s build process.

Example:

deployments:
  CRM:
    filename:
      ./src/crm/Dockerfile
    context_path:
      ./src
    vm_size:
      1GB
    copy_files_build_process:
      - /assets/sanitized-db.zip ~/code/myapp/sanitized-db.zip

 

For more details, see copy_files and copy_files_build_process.

Docker volumes

WARNING: We do not recommend changing asset files permissions or file ownership within a Docker volume. This will essentially cause these permissions to propagate to the host deployment and will also affect any active deployments using the assets folder. Another side effect is the ability to upload files from the Squash UI, uploads/updates will be automatically blocked from the Squash interface for assets folders/files with custom ownership or permissions.

You can easily associate the Assets Storage with your deployments by defining a Docker volume from your .squash.yml file as follows

run_options: -v /assets/pictures:/home/devel/pictures

For the example above, Squash will mount a new “pictures” folder within the “devel” home folder of all docker containers using the contents from the assets storage.

For more details, see run_options.