Concepts
Équipe, serveur, application, processus, modules et environnements : comment les pièces s'assemblent.
Un survol rapide des mots que vous verrez dans le tableau de bord et dans cette documentation.
Équipe
Tout appartient à une équipe : ses serveurs, ses applications, ses bases de données, ses identifiants cloud et son historique. Chaque membre a un rôle (viewer, deployer, admin, owner). Voir Équipes, SSO et accès.
Serveur
Un serveur est une machine sur laquelle vos applications tournent. Railyard en crée un sur votre propre compte DigitalOcean, Vultr, Hetzner, AWS ou OVH, ou vous en connectez un en SSH. Dans les deux cas, Railyard y installe Docker, un proxy de routage et un petit agent qui reçoit ses instructions du control plane et fait tourner vos conteneurs. Le serveur vous appartient et votre fournisseur vous facture directement. Voir Ajouter un serveur.
Un serveur peut aussi être dédié à un rôle précis : un serveur de build pour les builds lourds, ou un serveur de base de données qui ne garde que des données. Voir Serveurs de base de données.
Application
Une application est une unité déployable : un dépôt, une image Docker, un site statique ou une fonction. Collez l’URL d’un dépôt ou choisissez une image, et Railyard le lit pour détecter le framework, le port, les processus et les variables. Voir Déployer depuis un dépôt et Déployer une image Docker.
Processus
Une application peut faire tourner plusieurs processus à partir de la même image :
- web : répond au trafic HTTP, sur le port que votre application écoute.
- workers : des tâches de fond (Sidekiq, Solid Queue, Celery…), mis à l’échelle indépendamment du web.
- commande de release : s’exécute une fois avant que la nouvelle version prenne le trafic, typiquement pour les migrations.
- cron : une commande exécutée sur un horaire, avec un historique d’exécution.
Voir Workers et tâches planifiées.
Modules et bases de données
Postgres, MySQL, Redis, MongoDB, ClickHouse, Elasticsearch et d’autres peuvent être provisionnés sur un serveur, avec les identifiants injectés automatiquement dans l’application. Voir Bases de données et sauvegardes.
Environnements
Un projet regroupe des applications liées entre elles. Un environnement (production, staging…) est une copie complète d’un projet, créée depuis le canvas. Une prévisualisation de pull request est une copie temporaire d’une application pour une PR ouverte, supprimée à la fermeture de la PR. Voir Environnements et aperçus.
Déploiements et versions
Un déploiement construit (ou récupère) une image, exécute la commande de release, puis bascule le trafic vers la nouvelle version une fois qu’elle est en bonne santé. Chaque déploiement réussi devient une version vers laquelle vous pouvez revenir. Voir Déploiements et retours arrière.
Domaines
Chaque application reçoit une URL fonctionnelle dès le départ; ajoutez votre propre domaine avec une vérification de propriété et un certificat automatique. Voir Domaines et HTTPS.