Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement zero-downtime deployments #1067

Open
6 tasks
dsebastien opened this issue Nov 7, 2024 · 0 comments
Open
6 tasks

Implement zero-downtime deployments #1067

dsebastien opened this issue Nov 7, 2024 · 0 comments
Labels
component:deployments environment:production MUST Must have P2 Affects more than a few users but doesn't prevent core functions quality_assurance Quality Assurance (QA)
Milestone

Comments

@dsebastien
Copy link
Member

dsebastien commented Nov 7, 2024

Currently, deployments make the hosted version of Knowii unavailable for a while.
Once we grow enough, this will become really problematic.

We should use Laravel Envoyer ($10/month): https://envoyer.io/

Steps:

On the server, the cloned project will be moved to releases//, and a "current" symlink will be created, pointing to the latest release, and each release will include the .env file

Deployment hooks we need:

  1. Build front-end (npm install and npm run build)
  2. Run Laravel Caches: php artisan route:cache, config:cache, view:cache
    ...

Examples:

image

@dsebastien dsebastien added quality_assurance Quality Assurance (QA) P2 Affects more than a few users but doesn't prevent core functions MUST Must have environment:production component:deployments labels Nov 7, 2024
@dsebastien dsebastien added this to the LATER milestone Nov 7, 2024
@dsebastien dsebastien added this to Knowii Nov 7, 2024
@dsebastien dsebastien moved this to Backlog in Knowii Nov 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:deployments environment:production MUST Must have P2 Affects more than a few users but doesn't prevent core functions quality_assurance Quality Assurance (QA)
Projects
Status: Backlog
Development

No branches or pull requests

1 participant