Top Banner
ДОСТАВКА КОДА. ПОДДЕРЖКА ЕДИНОГО СТИЛЯ КОДА Денис Евграфов Тимлид
28

Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

Jan 12, 2017

Download

Internet

Denis Evgrafov
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

ДОСТАВКА КОДА. ПОДДЕРЖКА ЕДИНОГО СТИЛЯ КОДА

Денис Евграфов Тимлид

Page 2: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

ДЖЕНТЛЬМЕНСКИЙ НАБОР ГЕМОВ

Page 3: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

АУТЕНТИФИКАЦИЯ

■ devise■ sorcery

Page 4: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

АВТОРИЗАЦИЯ

■ pundit■ cancancan ■ authority

Page 5: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

РАБОТА С ДАННЫМИ

■ seedbank■ pghero■ backup

Page 6: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

ГЕНЕРАЦИЯ JSON

■ active_model_serializers■ responders

Page 7: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

РАБОТА С ИЗОБРАЖЕНИЯМИ

■ carrierwave ■ jquery-fileupload-rails

■ remotipart

Page 8: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

СТАТУСЫ / ВЕРСИИ / УДАЛЕНИЕ

■ aasm■ paper_trail■ paranoia

Page 9: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

ROLLBAR

Page 10: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

ОТПРАВКА ПОЧТЫ / ОЧЕРЕДИ

■ letter_opener■ mailgun_rails■ premailer-rails

■ sidekiq

■ sitemap_generator

■ whenever

Page 11: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

ФОРМЫ / ОТОБРАЖЕНИЕ

■ bootstrap■ bootstrap_generators■ simple_form■ ransack■ select2-rails■ ckeditor

■ cocoon■ recaptcha■ show_for■ kaminari■ errgent■ high_voltage

Page 12: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

ПОМОЩЬ В РАЗРАБОТКЕ

■ awesome_print ■ annotate ■ switch_user

Page 13: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

ТЕСТИРОВАНИЕ / ДЕБАГ

■ capybara■ database_cleaner■ simplecov■ poltergeist

■ faker / ffaker■ factory_girl_rails■ vcr■ byebug

Page 14: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

ЛИНТЫ

■ rubocop (rubocop-rspec)

■ haml_lint■ scss_lint■ brakeman■ coffeelint / eslint

Page 15: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

OVERCOMMIT

Page 16: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

ДЕПЛОЙДоставка кода на сервер

Page 17: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

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)…

Page 18: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

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

Page 19: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

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

Page 20: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

ПЛАГИНЫ

■ 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

Page 21: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

АВТОМАТИЗАЦИЯContinuous Integration

Page 22: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.
Page 23: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

VEXOR

Page 24: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.
Page 25: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.
Page 26: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.
Page 27: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

СТАЖИРОВКАcareer.evrone.ru

Page 28: Джентльменский набор гемов. Поддержка единого стиля кода. Доставка кода на сервер.

СПАСИБО ЗА ВНИМАНИЕ!ВОПРОСЫ?

@stereodenis