Blog

Sortie de la bibliothèque Ruby Scalingo v2

Chargement...

5 min de lecture

Sortie de la bibliothèque Ruby Scalingo v2

Nous venons de publier la version v2 de notre bibliothèque Ruby officielle.

""

L'ensemble de la plateforme PaaS Scalingo est pilotée par une API, tous les outils que vous manipulez en tant qu'utilisateur communiquent avec nos API publiques : le tableau de bord et l' outil de ligne de commande scalingo. Nos API sont accessibles et documentées, vous pouvez créer et utiliser vos propres outils contre elles pour améliorer vos flux de travail. Pour vous aider à le faire, nous venons de publier la version v2 de notre bibliothèque Ruby officielle.

Changements depuis la 1ère version

La première version de cette bibliothèque n'était pas une version officielle, elle avait été conçue par un utilisateur de la plate-forme ayant besoin d'une intégration plus profonde. Plus tard, le projet nous a été transféré, mais il manquait d'amour pendant quelques années.

Depuis lors, nous avons repensé notre système d'authentification et nous nous sommes étendus sur plusieurs régions cette année, la gem est maintenant compatible avec ces deux changements majeurs de la plateforme.

De plus, différentes ressources n'étaient pas encore mises en œuvre et ne pouvaient pas être modifiées facilement avec cette bibliothèque, leur support a été ajouté :

Découvrez les différentes ressources que vous pouvez manipuler dans notre documentation pour développeurs.

Intégration de la bibliothèque

Pour utiliser notre bibliothèque Ruby, vous devez l'ajouter à votre Gemfile :

gem 'scalingo-ruby-api', '~> 2'
gem 'scalingo-ruby-api', '~> 2'
gem 'scalingo-ruby-api', '~> 2'
gem 'scalingo-ruby-api', '~> 2'

Configuration

Ensuite, elle doit être configurée dans votre projet. L'extrait suivant configurerait la bibliothèque pour utiliser le jeton API de l'environnement dans la variable SCALINGO_API_TOKEN, et pour utiliser la région osc-fr.

Scalingo.configure do |config|
  config.token = ENV['SCALINGO_API_TOKEN']
  config.region = 'osc-fr1'
end
Scalingo.configure do |config|
  config.token = ENV['SCALINGO_API_TOKEN']
  config.region = 'osc-fr1'
end
Scalingo.configure do |config|
  config.token = ENV['SCALINGO_API_TOKEN']
  config.region = 'osc-fr1'
end
Scalingo.configure do |config|
  config.token = ENV['SCALINGO_API_TOKEN']
  config.region = 'osc-fr1'
end

Pour une application Ruby on Rails, créez un initialiseur `config/initializers/scalingo.rb` pour ajouter cette configuration

Notez que si vous devez utiliser différents jetons ou différentes régions dans votre projet, vous pouvez configurer cela par instance de client dans votre code :

client_osc_fr1 = Scalingo::Client.new(region: 'osc-fr1')
client_user_1 = Scalingo::Client.new(token: ENV['SCALINGO_USER1_TOKEN'

client_osc_fr1 = Scalingo::Client.new(region: 'osc-fr1')
client_user_1 = Scalingo::Client.new(token: ENV['SCALINGO_USER1_TOKEN'

client_osc_fr1 = Scalingo::Client.new(region: 'osc-fr1')
client_user_1 = Scalingo::Client.new(token: ENV['SCALINGO_USER1_TOKEN'

client_osc_fr1 = Scalingo::Client.new(region: 'osc-fr1')
client_user_1 = Scalingo::Client.new(token: ENV['SCALINGO_USER1_TOKEN'

Exemples d'utilisation

  • Listez toutes les applications :

client = Scalingo::Client.new
apps = client.apps.all
apps.each do |app|
  puts app.name
end
client = Scalingo::Client.new
apps = client.apps.all
apps.each do |app|
  puts app.name
end
client = Scalingo::Client.new
apps = client.apps.all
apps.each do |app|
  puts app.name
end
client = Scalingo::Client.new
apps = client.apps.all
apps.each do |app|
  puts app.name
end
  • Associez un domaine à une application :

client = Scalingo::Client.new
app = client.apps.find('my-app')
app.domains.create('example.com'

client = Scalingo::Client.new
app = client.apps.find('my-app')
app.domains.create('example.com'

client = Scalingo::Client.new
app = client.apps.find('my-app')
app.domains.create('example.com'

client = Scalingo::Client.new
app = client.apps.find('my-app')
app.domains.create('example.com'

  • Obtenez les métriques actuelles de vos conteneurs d'application :

client = Scalingo::Client.new
app = client.apps.find('my-app')
stats = app.stats.all
stats.each do |stat|
 puts "Container #{s.id}: Memory: #{s.memory_usage/1024/1024}MB/#{s.memory_limit/1024/1024}MB"
end
client = Scalingo::Client.new
app = client.apps.find('my-app')
stats = app.stats.all
stats.each do |stat|
 puts "Container #{s.id}: Memory: #{s.memory_usage/1024/1024}MB/#{s.memory_limit/1024/1024}MB"
end
client = Scalingo::Client.new
app = client.apps.find('my-app')
stats = app.stats.all
stats.each do |stat|
 puts "Container #{s.id}: Memory: #{s.memory_usage/1024/1024}MB/#{s.memory_limit/1024/1024}MB"
end
client = Scalingo::Client.new
app = client.apps.find('my-app')
stats = app.stats.all
stats.each do |stat|
 puts "Container #{s.id}: Memory: #{s.memory_usage/1024/1024}MB/#{s.memory_limit/1024/1024}MB"
end

Ce qui produirait :

Container clock-1: Memory: 147MB/512MB
Container web-1: Memory: 357MB/512MB
Container web-2: Memory: 329MB/512MB
Container web-3: Memory: 275MB/5128MB
Container worker-1

Container clock-1: Memory: 147MB/512MB
Container web-1: Memory: 357MB/512MB
Container web-2: Memory: 329MB/512MB
Container web-3: Memory: 275MB/5128MB
Container worker-1

Container clock-1: Memory: 147MB/512MB
Container web-1: Memory: 357MB/512MB
Container web-2: Memory: 329MB/512MB
Container web-3: Memory: 275MB/5128MB
Container worker-1

Container clock-1: Memory: 147MB/512MB
Container web-1: Memory: 357MB/512MB
Container web-2: Memory: 329MB/512MB
Container web-3: Memory: 275MB/5128MB
Container worker-1

Contributions et questions

Le projet est sous licence MIT et disponible sur GitHub : https://github.com/Scalingo/scalingo-ruby-api. Vous trouverez plus d'informations dans le README du projet. Si vous avez des questions, n'hésitez pas à ouvrir un problème, nous vous aiderons dès que possible.

Vous ne travaillez pas avec Ruby ? Nous développons et supportons officiellement des bibliothèques dans d'autres langages :

Photo par Jonny Lew de Pexels

Etienne Michon, Scalingo

Étienne Michon

Docteur en informatique, Étienne Michon occupe actuellement le poste d'ingénieur R&D chez Scalingo. Il était l'un des premiers employés de Scalingo et il contribue grandement à faire grandir ce blog grâce à ses articles techniques de qualité.

Restez informé

Recevez des articles et des mises à jour de la plateforme dans votre boîte de réception.

Prêt à déployer en toute confiance ?

Découvrez des déploiements sans temps d'arrêt, une mise à l'échelle automatique intelligente et une infrastructure entièrement gérée. Commencez à déployer vos applications sur Scalingo dès aujourd'hui.

Aucune carte de crédit requise • Déployez en quelques minutes • Annulez à tout moment

Dégradé arrière-plan section

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme cloud européenne et souveraine, conçue pour livrer rapidement et opérer sereinement.

Dégradé arrière-plan section

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme cloud européenne et souveraine, conçue pour livrer rapidement et opérer sereinement.

Dégradé arrière-plan section

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme cloud européenne et souveraine, conçue pour livrer rapidement et opérer sereinement.