forked from kalamuna/drupal-project
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.platform.app.yaml
166 lines (141 loc) · 5.77 KB
/
.platform.app.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
# This file describes an application. You can have multiple applications
# in the same project.
#
# See https://docs.platform.sh/user_guide/reference/platform-app-yaml.html
# The name of this app. Must be unique within a project.
name: '<MYPROJECT>'
# The runtime the application uses.
type: 'php:7.1'
# Configuration of the build of this application.
build:
flavor: none
variables:
php:
memory_limit: 256M
# The relationships of the application with services or other applications.
#
# The left-hand side is the name of the relationship as it will be exposed
# to the application in the PLATFORM_RELATIONSHIPS variable. The right-hand
# side is in the form `<service name>:<endpoint name>`.
relationships:
database: 'mysqldb:mysql'
# solr: 'solrsearch:solr'
# redis: 'rediscache:redis'
# The configuration of app when it is exposed to the web.
web:
# Specific parameters for different URL prefixes.
locations:
'/':
# The folder from which to serve static assets, for this location.
#
# This is a filesystem path, relative to the application root.
root: 'web'
# How long to allow static assets from this location to be cached.
#
# Can be a time in seconds, or -1 for no caching. Times can be
# suffixed with "s" (seconds), "m" (minutes), "h" (hours), "d"
# (days), "w" (weeks), "M" (months, as 30 days) or "y" (years, as
# 365 days).
expires: 5m
# Whether to forward disallowed and missing resources from this
# location to the application.
#
# Can be true, false or a URI path string.
passthru: '/index.php'
# Deny access to static files in this location.
allow: false
# Rules for specific URI patterns.
rules:
# Allow access to common static files.
'\.(jpe?g|png|gif|svgz?|css|js|map|ico|bmp|eot|woff2?|otf|ttf)$':
allow: true
'^/robots\.txt$':
allow: true
'^/sitemap\.xml$':
allow: true
'/sites/default/files':
# Allow access to all files in the public files directory.
allow: true
expires: 5m
passthru: '/index.php'
root: 'web/sites/default/files'
# Do not execute PHP scripts.
scripts: false
rules:
# Provide a longer TTL (2 weeks) for aggregated CSS and JS files.
'^/sites/default/files/(css|js)':
expires: 2w
'/kalastatic':
allow: true
scripts: true
passthru: true
index:
- index.html
root: 'web/kalastatic'
# The size of the persistent disk of the application (in MB).
disk: 2048
# The 'mounts' describe writable, persistent filesystem mounts in the application.
# The keys are directory paths relative to the application root. The values are a
# mount definition.
mounts:
# Note that the Platform.sh settings file overrides the Drupal "temporary
# files directory" setting to point at /app/tmp instead of whatever is
# specified in the configuration files.
'tmp':
source: local
source_path: tmp
'web/sites/default/files':
source: local
source_path: public
'private':
source: local
source_path: private
'config/autocommit':
source: local
source_path: autocommit
# The hooks executed at various points in the lifecycle of the application.
hooks:
# In enterprise environments, only the "build" hook has access to build
# tools like composer and npm. Plus, the filesystem becomes read-only after
# this phase.
build: |
# Update node.js (and npm) to latest stable version before building.
# @see https://docs.platform.sh/languages/nodejs/nvm.html
sh scripts/install-nodejs.sh
# Don't install dev dependencies in the live and test environments.
COMPOSER_INSTALL_FLAGS="--no-interaction --optimize-autoloader"
if [ "$PLATFORM_BRANCH" = "production" ] || [ "$PLATFORM_BRANCH" = "staging" ]; then
COMPOSER_INSTALL_FLAGS="$COMPOSER_INSTALL_FLAGS --no-dev"
fi
composer install $COMPOSER_INSTALL_FLAGS
composer test
# All requests get held in a buffer while deploy tasks execute, so minimize
# the time spent here as much as possible.
deploy: |
# Uncomment the following two lines after adding any post_deploy
# commands that use node or npm.
#unset NPM_CONFIG_PREFIX
#nvm use stable
# Execute any pending database update hooks from upgraded modules.
drush -y updatedb
# Uncomment this line before deployment if Drupal's "Status report"
# page shows any pending entity updates in your dev environments.
# Don't forget to comment it back out for subsequent deployments.
#drush -y entity-updates
# Configuration synchronization warrants execution here in the "deploy"
# hook since site errors can result when configuration is out of sync.
drush -y config-import
# The tasks in post_deploy happen asynchronously; i.e., requests are not
# buffered while the calls execute, so spend as long here as you like.
post_deploy: |
# Uncomment the following two lines after adding any post_deploy
# commands that use node or npm.
#unset NPM_CONFIG_PREFIX
#nvm use stable
# Clear caches to make newly-imported configurations take effect.
drush -y cache-rebuild
# The configuration of scheduled execution.
crons:
drupal:
spec: '*/20 * * * *'
cmd: 'drush core-cron'