Deployment workflow
This page deploys a full stack in order: secrets, configs, database, app, then domain. If a step fails, the command output tells you where to look.
-
Create secrets
Create database passwords and app tokens
Terminal window dpl secret create db-rootdpl secret create db-demo -
Add configs
Place YAML files in
<base>/conf./opt/dpl/conf/mariadb.yamldb-demo.yamlapp-demo.yamlnginx.yamldomain-local.yaml -
Check db and app units
Terminal window dpl check db-demodpl check app-demoFix broken references before you deploy.
-
Deploy database first
To create an empty database:
Terminal window dpl deploy db-demoOr restore your database backup from a
.sqlor.sql.gzfile:Terminal window dpl deploy db-demo ~/backup.sql.gzThe db-server unit will be deployed automatically.
-
Deploy the app archive
Terminal window dpl deploy app-demo ~/app-demo.tar.gzYou can also stream from Git:
Terminal window git archive --format=tar.gz HEAD | dpl deploy app-demo - -
HTTP and domain units deploy automatically
The domain unit and the http-server unit will be deployed automatically after app deploy.
The domain deploy writes the generated nginx config into the HTTP server state directory and notifies
dpl serve. -
Inspect the result
Terminal window dpl inspect app-demoIf a deploy fails, inspect shows the failing stage and points to the build or runtime log.