Створення блогу за допомогою Ruby on Rails та Bluemix
Зареєструйтеся в IBM Bluemix™. Ця хмарна платформа містить безкоштовні служби, інструменти часу виконання та інфраструктуру, які допоможуть вам швидко створити та розгорнути свій наступний мобільний або веб-додаток.
При створенні програм та їх розгортанні у хмарі багато часу, як правило, витрачається на встановлення серверів, їх налаштування зі своїм перевіреним дистрибутивом Linux®, встановлення необхідних середовищ виконання, встановлення та налаштування баз даних, налаштування залежностей бібліотек та забезпечення безпеки серверів. Під час роботи з IBM Bluemix можна повністю зосередитися на програмуванні, а процес розгортання займе лише кілька секунд.
Приклад цього простого блогу демонструє, як легко створити і розгорнути Rails-додаток у хмарному середовищі Bluemix. ”
У цій статті ми побудуємо простий блог як приклад програми для демонстрації процесу роботи з IBM Bluemix та Ruby on Rails. Ми покажемо етапи створення Rails-додатка та бази даних SQLDB (це служба Bluemix, заснована на IBM DB2), підключення цієї програми до бази даних, а потім – розгортання та запуску програми. Приклад цього простого блогу демонструє, як легко створити та розгорнути Rails-додаток у хмарному середовищі Bluemix.
Що вам знадобиться
Для цієї програми ми будемо використовувати Ruby 1.9.3 та Rails 3.2.13. Перед початком роботи переконайтеся, що це встановлено на вашій машині для локальної розробки.
Передбачається і корисне знайомство з мовою програмування Ruby та середовищем Ruby on Rails, але інструкції цієї статті можна виконати і, не знаючи їх.
Крок 1. Створення програми Ruby on Rails
- Відкрийте командний рядок і створіть новий Rails-додаток, у нашому випадку - Blog :
Якщо у вас встановлено кілька версій Rails, можна вказати версію, яку ми тут використовуємо:
Як короткий тест перевірок відкрийте інше вікно командного рядка і запустіть сервер Rails. Не забудьте подати наступну команду з каталогу програми, створеного командою rails new, у даному випадку – Blog. Це призведе до запуску WEBrick у режимі розробки, тому тепер він прийматиме HTTP-запити через порт 3000.

Крок 2. Створення моделей, уявлень та контролерів
На наступному малюнку показано ряд файлів, автоматично згенерованих командою, включаючи файл міграції в каталозі db/migrate , який містить інформацію, необхідну створення таблиці в базі даних відповідно до щойно визначеним нами полям.


Крок 3. Редагування Rails-додатки


Крок 4. Створення програми Ruby на Rails у середовищі Bluemix
В даному випадку нас цікавить створення та розгортання Rails-додатка в середовищі Bluemix, тому виберіть середовище виконання Ruby on Rails, ім'я своєї програми (Name) та ім'я хоста (Host), після чого натисніть кнопкуCREATE.


Після натискання кнопкиCREATE ви отримаєте приклад Rails-програми, що працює в Bluemix, який буде видно на панелі керування. Натискаючи посилання програми, ви потрапляєте в приклад програми, що працює в хмарі.

У відповідь на запрошення натисніть кнопкуОК, щоб перезапустити програму.
Якщо ви відкриєте URL щойно створеного Bluemix-програми, то побачите сторінку привітання. Додаток із цим вітанням – це приклад, який надається Bluemix у момент вибору середовища виконання Rails. Тепер цей приклад Bluemix-програми успішно працює в хмарі. Ми навіть додали до нього службу бази даних.
Але це ще не додаток блогу. Цей приклад програми потрібний нам тільки тому, що в ньому є важливий файл manifest.yml, що містить відомості, необхідні для розгортання програми Bluemix.
Його потрібно витягти з прикладу Bluemix-додатки та вставити у свій локальний додаток блогу. Таким чином ми зможемо перенести свою програму в Bluemix, замінивши їм приклад програми, яка працює в Bluemix в даний момент.
Натисніть на ім'я новоствореної програми у розділі Applications панелі керування. Тепер можна натиснути кнопкуVIEW QUICK START у правому верхньому кутку сторінки. З'явиться початкове вікно, як показано на малюнку. НатиснітьDownload the starter application package.



Як згадувалося, Bluemix використовує файл manifest.yml при розгортанні програми. Він містить відомості про додаткові послуги, такі як хост, кількість екземплярів тощо.


Примітка. Інший спосіб отримання файлу manifest.yml – завантажити його з нашого репозиторію на JazzHub. У цьому випадку не забудьте змінити ім'я служби, хоста та іншу інформацію відповідно до свого додатку.
Крок 5. Підготовка програми Blog до розгортання у середовищі Bluemix
- Оскільки наша програма використовує службу SQLDB на основі IBM DB2, локальна програма Blog повинна мати можливість встановлювати зв'язок із DB2. Для цього необхідно включити адаптер ibm_db, додавши в Gemfile проекту gem 'ibm_db' .


Примітка. Після встановлення адаптера ibm_db (гем Ruby) програма не зможе запустити сервер Rails і запускатися локально,поки ми не встановимо DB2 і не налаштуємо її локально або знову не змінимо базу даних на SQLite (наприклад, лише в режимі розробки).
Тепер змінимо налаштування у виробничому середовищі. Перейдіть до каталогу config/environments/production.rb і надайте значення true двом параметрам конфігурації, пов'язаним з ресурсами:


Це один із прикладів того, як Bluemix прискорює розробку, спрощуючи спосіб взаємодії компонентів та служб та їх зв'язок один з одним.
Крок 6. Розгортання програми на платформі Bluemix
Відкрийте командний рядок та виконайте такі команди cf. Якщо ви ще не встановили командний рядок cf, це можна зробити з менюGet Started with .
- Спочатку встановіть з'єднання з Bluemix:
- Потім увійдіть у Bluemix.
Створіть таблиці в базі даних SQLDB, запустивши процес міграції серед Bluemix. Параметр -c дозволяє виконати команду одразу після завантаження коду. У разі ми переносимо свою базу даних.
Порада: при розгортанні програми відкрийте інше вікно командного рядка і використовуйте наступну команду cf для додавання записів до журналу подій програми в процесі перенесення.
Примітка. Після виконання попередньої команди cf push програма буде продовжувати невдалі спроби підключитися до нашого сервера додатків, оскільки ми ще не запустили його; ми запустили лише перенесення. Перевірте журнал, щоб переконатися, що таблиці створені, а потім скасувати операцію запуску.
Тепер, коли перенесення виконано, можна розгорнути програму:
Інструмент командного рядка cf зберігає останню команду, передану в -c і використовує її щоразу при розгортанні нашої програми. Передавши -c значення "null" ,можна видалити попередню команду і використовувати для запуску нашого сервера програм сценарій запуску buildpack за замовчуванням.
Вітаємо! Тепер у вас є програма Ruby на Rails, запущена на Bluemix!


Висновок
Давайте коротко перелічимо все, що ми зробили.
Ми розробили локальне Rails-додаток та налаштували його з урахуванням своїх переваг. Ми створили Bluemix-додаток і додали службу бази даних з тих, що перераховані в каталозі, що постійно розширюється. Ми також використовували готовий файл прикладу Bluemix-додатку manifest.yml для розгортання свого власного локального додатка в Bluemix, замінивши їм приклад програми, що завантажується за замовчуванням (за допомогою інструмента командного рядка cf).
Цей же підхід можна використовувати для розгортання будь-якої складної Rails-програми, яку ви напишіть, і підключення стільки компонентів і служб Bluemix, скільки вам знадобиться.
Скориставшись перевагами цього середовища корпоративного рівня, повністю керованого IBM і заснованого на хмарі IBM SoftLayer, ви заощадите час та спростите процес розгортання. Чи використовуєте ви Rails для написання короткої демонстраційної програми або створюєте критично важливу виробничу програму, Bluemix надасть вам все необхідне.