Deployment

Master deployment strategies and CI/CD workflows

8 articles

Build process and .dockerignore

Understanding how container builds work and optimizing build times with .dockerignore

4 min read

Understanding build commands and init commands

Build commands run during image creation to install dependencies and compile assets, while init commands execute as startup scripts before each application startup for tasks like database migrations. Use build commands for preparing your code and init commands for runtime setup that needs fresh configuration.

3 min read

Understanding build secrets vs runtime secrets

Build secrets are only available during the Docker build (e.g. `COMPOSER_AUTH`). Runtime secrets are injected as env vars at app start (e.g. `APP_KEY`). Examples + gotchas.

4 min read

When changes require redeployment

When you make changes to your application's configuration like environment variables, domains, or services, these changes won't take effect immediately. Instead, your application will be marked as needing deployment, and you'll need to trigger a new deployment to apply all pending changes.

2 min read

Deployment Strategies

Learn about different deployment strategies and when to use them.

1 min read

Deploy vs redeploy

Understand the difference between the Deploy and Redeploy buttons to choose the fastest option for your deployment needs.

2 min read

PHP extensions in applications

Add PHP extensions (gd, intl, redis, etc.) to a hosted app via the `php.extensions` array in `ploi.yaml`. Uses install-php-extensions under the hood.

4 min read

Deploying with source upload

Deploy applications without a git repository by uploading .zip or .tar.gz source archives directly.

3 min read