Създаване на блог с 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 приложение

  1. Отворете командния ред и създайте ново Rails приложение, в нашия случай Blog:

Ако имате няколко инсталирани версии на Rails, можете да посочите версията, която използваме тук:

Като бърз тест отворете друг прозорец на командния ред и стартирайте Rails сървъра. Не забравяйте да издадете следната команда от директорията на приложението, създадена от командата rails new, в този случай Blog. Това ще стартира WEBrick в режим на разработка, така че вече ще приема HTTP заявки на порт 3000.

ruby

Стъпка 2: Създаване на модели, изгледи и контролери

Следващата фигура показва редица файлове, автоматично генерирани от командата, включително файл за миграция в директорията db/migrate, който съдържа информацията, необходима за създаване на таблица в базата данни според полетата, които току-що дефинирахме.

създаване

блог

Стъпка 3: Редактиране на приложението Rails

rails

създаване

Стъпка 4: Създайте приложение Ruby on Rails в средата на Bluemix

В този случай ние се интересуваме от създаването и внедряването на Rails приложение на Bluemix, така че изберете Ruby on Rails Runtime, име на вашето приложение ( Name ) и име на хост ( Host ), след което щракнете върху бутонаCREATE.

създаване

създаване

След като щракнете върху бутонаCREATE, ще получите примерно Rails приложение, работещо в Bluemix, което ще се вижда в контролния панел. Щракването върху връзката към приложението ще ви отведе до примерно приложение, работещо в облака.

rails

Когато бъдете подканени, натиснете бутонаOK, за да рестартирате приложението.

Ако отворите URL адреса на новосъздаденото приложение Bluemix, ще видите начална страница. Приложението с този поздрав е пример, предоставен от Bluemix по време на избиране на средата за изпълнение на Rails. Сега този пример за Bluemix-приложения, работещи успешно в облака. Ние дори добавихме услуга за база данни към него.

Но все още не е приложение за блог. Нуждаем се само от това примерно приложение, защото има важен файл manifest.yml, който съдържа информацията, необходима за внедряване на приложението в Bluemix.

Трябва да го извлечете от примерното приложение Bluemix и да го поставите в приложението за локален блог. По този начин ще можем да пренесем нашето приложение към Bluemix, като го заменим с примерното приложение, което в момента работи в Bluemix.

Кликнете върху името на новосъздаденото приложение в секцията Приложения на контролния панел. Вече можете да щракнете върху бутонаПРЕГЛЕД НА БЪРЗ СТАРТ в горния десен ъгъл на страницата. Първоначалният прозорец ще се появи, както е показано на следващата фигура. Щракнете върху връзкатаИзтеглете пакета за стартово приложение.

блог

ruby

rails

Както споменахме, Bluemix използва файла manifest.yml при внедряване на приложение. Той съдържа информация за допълнителни услуги като хост, брой инстанции и т.н.

блог

блог

Забележка: Друг начин да получите файла manifest.yml е да го изтеглите от нашето хранилище в JazzHub. В този случай не забравяйте да промените името на услугата, хоста и друга информация, за да съответства на вашето приложение.

Стъпка 5: Подгответе приложението за блогове за внедряване в Bluemix

  1. Тъй като нашето приложение използва базираната на IBM DB2 SQLDB услуга, локалното блог приложение трябва да може да комуникира с DB2. За да направите това, включете ibm_db адаптера в него, като добавите gem 'ibm_db' към Gemfile на проекта.

блог

блог

Забележка: След като адаптерът ibm_db (Ruby gem) бъде инсталиран, приложението няма да може да стартира Rails сървъра и да работи локално,докато не инсталираме DB2 и не го настроим локално или променим базата данни обратно на SQLite (например само в режим на разработка).

Сега нека променим настройките в производствената среда. Променете в директорията config/environments/production.rb и задайте двете свързани с ресурса конфигурационни настройки на true:

ruby

създаване

Това е един пример за това как Bluemix ускорява разработката чрез опростяване на начина, по който компонентите и услугите взаимодействат и комуникират помежду си.

Стъпка 6: Разполагане на приложението в платформата Bluemix

Отворете командния ред и изпълнете следните cf команди. Ако все още не сте инсталирали командния ред cf, можете да го направите от менютоПърви стъпки с .

  1. Първо се свържете с Bluemix:
  2. След това влезте в Bluemix.

Създайте таблици в базата данни SQLDB, като стартирате процеса на миграция в средата на Bluemix. Опцията -c ви позволява да изпълните командата веднага след зареждане на кода. В този случай ние мигрираме нашата база данни.

Съвет: Когато внедрявате приложение, отворете друг прозорец на командния ред и използвайте следната команда cf, за да добавите записи към регистъра на събитията на приложението по време на процеса на мигриране.

Забележка: След изпълнение на предишната команда cf push, приложението ще продължава да не успява да се свърже с нашия сървър за приложения, защото все още не сме го стартирали; започнахме само трансфера. Проверете дневника, за да се уверите, че таблиците са създадени и след това можете да отмените стартиращата операция.

След като миграцията приключи, можем да разположим приложението:

Инструментът за команден ред cf съхранява последната команда, предадена на -c, и я използва всеки път, когато внедряваме нашето приложение. Чрез предаване на "null" на -c,можем да премахнем предишната команда и да използваме скрипта за стартиране на buildpack по подразбиране, за да стартираме нашия сървър за приложения.

Честито! Вече имате Ruby on Rails приложение, работещо на Bluemix!

rails

ruby

Заключение

Нека накратко изброим всичко, което сме направили.

Разработихме локално Rails приложение и го персонализирахме, за да отговаря на нашите нужди. Създадохме приложение Bluemix и добавихме услуга за база данни от изброените в непрекъснато разширяващия се каталог. Използвахме и предварително изградения файл manifest.yml на примерното приложение на bluemix, за да внедрим собственото си локално приложение в Bluemix, като заменихме с него примерното приложение, заредено по подразбиране (с помощта на инструмента за команден ред cf).

Можете да използвате същия подход, за да внедрите всяко Rails приложение, което пишете, без значение колко е сложно, и да свържете толкова компоненти и услуги на Bluemix, колкото са ви необходими.

Като се възползвате от тази среда от корпоративен клас, управлявана изцяло от IBM и захранвана от облака IBM SoftLayer, ще спестите време и ще опростите процеса на внедряване. Независимо дали използвате Rails, за да напишете кратко демонстрационно приложение или да създадете критично производствено приложение, Bluemix има всичко, от което се нуждаете.