ДОСТАВКА КОДА. ПОДДЕРЖКА ЕДИНОГО СТИЛЯ КОДА Денис Евграфов Тимлид
ДОСТАВКА КОДА. ПОДДЕРЖКА ЕДИНОГО СТИЛЯ КОДА
Денис Евграфов Тимлид
ДЖЕНТЛЬМЕНСКИЙ НАБОР ГЕМОВ
АУТЕНТИФИКАЦИЯ
■ devise■ sorcery
АВТОРИЗАЦИЯ
■ pundit■ cancancan ■ authority
РАБОТА С ДАННЫМИ
■ seedbank■ pghero■ backup
ГЕНЕРАЦИЯ JSON
■ active_model_serializers■ responders
РАБОТА С ИЗОБРАЖЕНИЯМИ
■ carrierwave ■ jquery-fileupload-rails
■ remotipart
СТАТУСЫ / ВЕРСИИ / УДАЛЕНИЕ
■ aasm■ paper_trail■ paranoia
ROLLBAR
ОТПРАВКА ПОЧТЫ / ОЧЕРЕДИ
■ letter_opener■ mailgun_rails■ premailer-rails
■ sidekiq
■ sitemap_generator
■ whenever
ФОРМЫ / ОТОБРАЖЕНИЕ
■ bootstrap■ bootstrap_generators■ simple_form■ ransack■ select2-rails■ ckeditor
■ cocoon■ recaptcha■ show_for■ kaminari■ errgent■ high_voltage
ПОМОЩЬ В РАЗРАБОТКЕ
■ awesome_print ■ annotate ■ switch_user
ТЕСТИРОВАНИЕ / ДЕБАГ
■ capybara■ database_cleaner■ simplecov■ poltergeist
■ faker / ffaker■ factory_girl_rails■ vcr■ byebug
ЛИНТЫ
■ rubocop (rubocop-rspec)
■ haml_lint■ scss_lint■ brakeman■ coffeelint / eslint
OVERCOMMIT
ДЕПЛОЙДоставка кода на сервер
MINA / CAPISTRANO$ mina init ==> Created config/deploy.rb.# config/deploy.rbrequire 'mina/bundler’require 'mina/rails’require 'mina/git'require 'mina/puma'
set :user, 'username'set :application, 'my_project’set :domain, 'your.server.com’set :deploy_to, "/home/#{user}/projects/#{application}"set :repository, "[email protected]:stereodenis/#{application}.git"set :keep_releases, 3
set :shared_paths, %w(tmp/pids public/system public/uploads config/secrets.ymlconfig/database.yml log)…
SETUPtask setup: :environment do queue! %(mkdir -p "#{deploy_to}/shared/log") queue! %(chmod g+rx,u+rwx "#{deploy_to}/shared/log")
queue! %(mkdir -p "#{deploy_to}/shared/config") queue! %(chmod g+rx,u+rwx "#{deploy_to}/shared/config")
queue! %(touch "#{deploy_to}/shared/config/database.yml") queue %(echo "-----> Be sure to edit 'shared/config/database.yml'.")
# Puma needs a place to store its pid file and socket file. queue! %(mkdir -p "#{deploy_to}/#{shared_path}/tmp/sockets") queue! %(chmod g+rx,u+rwx "#{deploy_to}/#{shared_path}/tmp/sockets") queue! %(mkdir -p "#{deploy_to}/#{shared_path}/tmp/pids") queue! %(chmod g+rx,u+rwx "#{deploy_to}/#{shared_path}/tmp/pids")end
> mina setup
DEPLOYdesc 'Deploys the current version to the server.'task deploy: :environment do deploy do invoke :'git:clone' invoke :'deploy:link_shared_paths' invoke :'bundle:install' invoke :'rails:assets_precompile' invoke :'rails:db_migrate' invoke :'deploy:cleanup'
to :launch do invoke :'puma:restart' end endend
> mina deploy
ПЛАГИНЫ
■ mina-data_sync■ mina-faye■ mina-foreman■ mina-hooks■ mina-multistage■ mina-nginx
■ mina-puma■ mina-rbenv-addons■ mina-rollbar■ mina-sidekiq■ mina-tail■ mina-whenever
АВТОМАТИЗАЦИЯContinuous Integration
VEXOR
СТАЖИРОВКАcareer.evrone.ru
СПАСИБО ЗА ВНИМАНИЕ!ВОПРОСЫ?
@stereodenis