Ansible

Ansible — програмне забезпечення, що надає засоби для управління конфігурацією централізованої установки застосунків і паралельного виконання типових завдань на групі систем. Сирцевий код Ansible написаний мовою Python і розповсюджується під ліцензією GPLv3.

Ansible виконує сценарій певної роботи на віддаленому сервері, працює через SSH. На віддалений системі потрібно поставити Python, на момент написання цих рядків з версією 3.x не працював, прийшлось інсталювати 2.7

Файли

міграція з ActionCable на Anycable у Rails

Інсталюємо GO

Інсталюємо Anycable-go

За звичай go інсталюється або в ~./go або в /usr/local/go. 

інсталюємо Redis сервер

Додаємо(вносимо зміни) в наступні файли

Gemfile

config/anycable.yml

config/application.rb

config/environments/development.rb та config/environments/production.rb

Запускаємо в папці з проектом

та

Для автоматизації запуску anycable та anycable-go використаємо systemd

Створюємо два файли

/etc/systemd/system/anycable.service

/etc/systemd/system/anycable-go.service

Також потрібно модифікува bin/anycable вказавши повний шлях замість відносного

Дозволяємо запуск сервісів

Старт

 

Фільтр по таксонах у Spree

app/helpers/spree/frontend_helper.rb

app/views/spree/shared/_search.html.erb

lib/spree/core/search/base.rb

vendor/assets/javascripts/spree/frontend/all.js

 

Deliver_later

На одному проекті інтернет-магазину виникали помилка після завершення оформлення замовлення. В момент надсилання email повідомлення адміністратору магазину про нове замовлення, відбулась проблема з'єднання із SMTP-сервером, в наслідок чого користувач бачив у браузері помилку

Теоретично такого не мало б відбутися, оскільки за змовчанням у ActiveJob використовується ansync адаптер і виклик методу deliver_later мав би виконатися у фоновому режимі

Але ActiveJob виконувався синхроно, було б добре розібратися чому саме так.

Для вирішення даної проблеми, використаємо gem sidekiq який дозволяє rails породжувати нові процеси, які будуть працювати у фоновому режимі.  В основі гема задіяна модель акторів. Його інсталяція досить проста – додати гем в Gemfile:

Вказуємо сервер черги у config/application.rb:

Інсталюємо Redis сервер

Оскільки отримання email'а є важливим, задаю 100 спроб у разі невдачі

В development середовищі запускається досить просто:

Перевірка показала асинхронну роботу

Для деплоя добавляємо у Gemfile gem:

Добавляємо в Capfile

Як бачимо у нас буде інтегація з monit, який буде запускати sidekiq у разі його падіння, тому на продакшені інсталюємо його

В /etc/monit/monitrc дозволяємо http для localhost'у

Та перезапускаємо 

Action Mailer використовує чергу mailers, задаємо її для sidekiq у config/deploy.rb

Далі деплоємо проект

Deploy Ruby on Rails – Nginx/Passenger/Postgres/Capistrano (ОНОВЛЕНО)

Приклад деплоя app на Ruby On Rails

В даній замітці розглядається приклад деплою проетку під назвою tools на  VPS-сервер Ubuntu 17.04 в каталог /home/deployer/apps/project/, код проекту знаходиться на git-сервері bitbucket.org у приватному репозиторію. Використовуємо Ruby 2.4.0 та Ruby On Rails 5

Continue reading

Owl Сarousel кастомізація стрілок

Приклад

 

Добавляємо class до картинки, яку вставляємо в CKEditor’і

ckeditor/config.js
 

 

amazon linux command line

AWS CLI – інтерфейс командного рядка AWS – це єдиний інструмент для управління сервісами AWS. Завантаживши всього один засіб, ви зможете контролювати безліч сервісів AWS з командного рядка та автоматизувати їх за допомогою сценаріїв.

В системі має бути встановлений pip

Встановлення певних заложностей(у мене виникала помилка error: command 'x86_64-linux-gnu-gcc' failed with exit status 1)

Інсталюємо

Після інсталяції виконуємо конфігурування, де вводимо дані для доступу до aws

Довілник по командному рядку

aws-shell  – це програма, що представляє собою зручну і ефективну командну оболонку, яка допоможе як новим, так і досвідченим користувачам інтерфейсу командного рядка AWS. Нижче перераховані основні можливості програми.