Adios
Applications et API · offres à partir de $10/mois

Déployer Ruby.Exécutez le processus de production du framework.

Installez les gems aux versions verrouillées, lancez Puma ou le processus attendu par votre framework, vérifiez la route de contrôle de santé et conservez la configuration d’exécution hors du code source.

Conserver le dépôtExaminer la compilation et les journauxDomaines personnalisés et TLS
Déploiement Adios

Version candidate

Ruby

Opérationnel

SOURCE

Git

REGION

de

ROUTE

HTTPS

01Source reçue

02Compilation terminée

03Environnement d’exécution démarré

04Vérification de santé réussie

Route promue en production

production.adios.run

Une mise en production adaptée à

RubyRailsSinatraPumaBundlerRack

Le parcours de mise en production

Même opérationnel, un projet Ruby doit être mis en production en toute sécurité.

L’application ou le service ne représente qu’une partie de la production. Les résultats de compilation, l’état d’exécution, les contrôles de santé, les secrets, les journaux, les routes et la version promue doivent pouvoir être examinés ensemble.

Conservez votre méthode de compilation Ruby

Installez les dépendances à partir de Gemfile.lock et conservez le point d’entrée Rack ou du framework déjà utilisé par le projet. La préparation à la compilation reste visible dans adios.yaml.

Promouvoir la version dont les contrôles de santé réussissent

Utilisez Puma ou un autre serveur de production, écoutez sur le port déclaré et vérifiez la disponibilité de l’application avant d’acheminer les utilisateurs vers cette version.

Relier la production au code source

Les résultats de compilation, les journaux d’exécution, l’état de santé, les secrets, les domaines et la version promue restent associés au projet au lieu d’être dispersés entre des outils indépendants.

Du code source à la mise en production

Trois étapes vous permettent de vérifier le parcours de déploiement.

Utilisez le code source et le fonctionnement en production déjà définis pour le projet. Le manifeste décrit ce que la plateforme doit compiler ou provisionner et les critères à remplir pour que le résultat soit prêt.

  1. 01

    Commencer par la source ou un modèle

    Importez le dépôt existant, ou examinez et déployez l’une des variantes de modèles précisément référencées ci-dessous.

    $adios login
  2. 02

    Revoir le contrat de déploiement

    Consignez dans adios.yaml les commandes, la version de l’environnement d’exécution ou du service, les critères de santé et les références aux secrets.

    $git diff -- adios.yaml
  3. 03

    Déployer et inspecter le résultat

    Suivez les résultats de compilation et d’exécution, vérifiez la version candidate, puis ouvrez la route ou la connexion de service promue en production.

    $adios up
adios.yaml
Votre projet
name: ruby-app
build_cmd: bundle install
start_cmd: bundle exec puma -C config/puma.rb

runtime:
  name: ruby@3.2
  port: 8080
  health_path: /healthz
Utilisez la commande de démarrage et la version de Ruby requises par votre framework et Gemfile.lock.

Points de départ déployables

Démarrer Ruby à partir d'un modèle lorsque le dépôt n'est pas prêt.

Partez du code Rails, Sinatra ou Hanami, qui inclut déjà les commandes Bundler et la configuration Adios.

Projets de démarrage d’API

Ruby on Rails

Projets de démarrage Rails, Sinatra, Grape, Hanami et Roda avec Bundler et la configuration Adios.

RubyBundler
Clé du modèle
ruby-rails
Environnement d’exécution
ruby
Dépôt
template-ruby-rails
Emplacement de la source
.
git clone https://github.com/adiosdotdev/template-ruby-rails.git
cd template-ruby-rails
adios up

Projets de démarrage d’API

Ruby Sinatra

Projets de démarrage Rails, Sinatra, Grape, Hanami et Roda avec Bundler et la configuration Adios.

RubyBundler
Clé du modèle
ruby-sinatra
Environnement d’exécution
ruby
Dépôt
template-ruby-sinatra
Emplacement de la source
.
git clone https://github.com/adiosdotdev/template-ruby-sinatra.git
cd template-ruby-sinatra
adios up

Projets de démarrage d’API

Ruby Grape

Projets de démarrage Rails, Sinatra, Grape, Hanami et Roda avec Bundler et la configuration Adios.

RubyBundler
Clé du modèle
ruby-grape
Environnement d’exécution
ruby
Dépôt
template-ruby-grape
Emplacement de la source
.
git clone https://github.com/adiosdotdev/template-ruby-grape.git
cd template-ruby-grape
adios up

Projets de démarrage d’API

Ruby Hanami Router

Projets de démarrage Rails, Sinatra, Grape, Hanami et Roda avec Bundler et la configuration Adios.

RubyBundler
Clé du modèle
ruby-hanami
Environnement d’exécution
ruby
Dépôt
template-ruby-hanami
Emplacement de la source
.
git clone https://github.com/adiosdotdev/template-ruby-hanami.git
cd template-ruby-hanami
adios up

Projets de démarrage d’API

Ruby Roda

Projets de démarrage Rails, Sinatra, Grape, Hanami et Roda avec Bundler et la configuration Adios.

RubyBundler
Clé du modèle
ruby-roda
Environnement d’exécution
ruby
Dépôt
template-ruby-roda
Emplacement de la source
.
git clone https://github.com/adiosdotdev/template-ruby-roda.git
cd template-ruby-roda
adios up

Avant production

Vérifier la charge de travail.Puis promouvez la version en production.

Pour sécuriser la première mise en production, partez d’une compilation ou d’une configuration de service reproductible et d’un aperçu qui sollicite les dépendances réellement utilisées en production.

Prêt quand...

  • bundle install succeeds from the committed lockfile.
  • Le serveur de production écoute sur le port du manifeste.
  • L’application dispose d’une route légère de contrôle de santé.
  • Les identifiants et les clés secrètes sont injectés à l’exécution.

Prévisualiser quand...

  • Une gem compile des extensions natives.
  • La compilation des ressources ou les migrations de base de données modifient le parcours de mise en production.
  • Les tâches en arrière-plan nécessitent Redis ou une autre file d’attente.

Les réponses à vos questions

Ce qu’il faut savoir avant de déployer Ruby.

Vérifiez les limites de l’environnement d’exécution ou du service, le chemin du modèle, le comportement en cas d’échec et les contrôles de production avant de créer la première version.

Adios peut-il déployer un projet Ruby existant ?

Oui. Exécutez la CLI Adios depuis la racine du projet, conservez votre dépôt et vos fichiers de dépendances et ajoutez un fichier adios.yaml décrivant la compilation de production, la commande de démarrage, le port et le chemin de contrôle de santé.

Ai-je besoin de Docker pour déployer Ruby ?

Pas pour un environnement d’exécution standard pris en charge. Utilisez les commandes de production habituelles du projet dans adios.yaml. Si la compilation nécessite des packages système inhabituels ou des bibliothèques natives, vérifiez ces dépendances dans un aperçu avant la promotion en production.

Puis-je déployer des applications Ruby avec ou sans Rails ?

Oui. Le catalogue de modèles inclut Rails, Sinatra, Grape, Hanami Router et Roda. Les autres applications compatibles avec Rack peuvent définir leurs propres commandes de compilation et de démarrage en production.

Comment exécuter les tâches Ruby en arrière-plan ?

Exécutez un worker persistant avec sa propre commande et une connexion à la file d’attente alimentée par des secrets. Testez les nouvelles tentatives, l’arrêt et les tâches en double séparément du traitement des requêtes web.

Que se passe-t-il si la compilation ou le contrôle de santé échoue ?

La version candidate conserve ses résultats de compilation et d’exécution pour vérification. Ses contrôles de santé doivent réussir avant sa promotion comme version desservant la route de l’application.

Puis-je partir d’un modèle plutôt que d’un dépôt existant ?

Oui. Cette page référence les modèles Adios officiels les plus proches pour Ruby. Examinez la variante exacte du code source, déployez-la dans la console ou clonez-la localement et exécutez adios up.

La première version

Déployer Ruby avec le code source et les éléments de vérification associés.

Partez du dépôt ou d’un modèle, vérifiez le contrat de déploiement et examinez la version qui sera promue en production.