Pull to refresh
0
Alexander Simonov@simonoffread⁠-⁠only

User

Send message
ну я думаю их будет меньше.
скорее всего 20 за 1 раз или 10 за 6.
тем что они незаметны. разработка и так идет постоянно, потому подправить один баг можно быстрее чем десяток. ИМХО конечно же.
а зачем на них отвлекаться? у нас проект с постоянной разработкой. сидеть на старом нету смысла. тем более что мы не продали заказчику и забыли.
выгода в том что бы после года сиденья на старом релизе не прыгнуть на новый с тысячами косяков и геморроем.а на новый прийдется пересесть или изза безопасности или изза скорости или вы сервак новый купили. вы на новое железо будете ставить старый софт? это как на последний оптерон поставить Debian Woody.
а зачем тратить время на прогонку тестов?
есть teamcity с несколькими профилями сборки.
моно сделать еще один профиль с новым руби, благо тимсити поддерживает rvm.
и оно все автоматом прогонит еще и скажет где была ошибка
а у меня проект один, но воркеров много. да и лень это такая штука…
как говориться правильный админ — ленивый админ, потому что он один раз все настроил, а дальше уже все автоматом :)
а спеков у вас нету? CI опять же.
а у вас сколько продакшенов? мне просто лень идти на все воркеры делать одни и теже операции. тем более что ошибиться не мудрено, а капистрано очень помогает.
а базу вы тоже ручками обновляете? ;)
держим свежую СТАБИЛЬНУЮ версию руби. опять же в каждом релизе есть ошибки. и по части безопасности тоже.
а в чем проблема держать последнюю версию? прогнали спеки, проверили что ничего не поломалось и можно использовать.
кстати да. руби очень странно относиться к новым либам openssl.
я как раз пользую rvm во всю.
у нас не супер-сервера а простой Amazon EC2 middle.
дело то не в том что собирает или нет из сорцов. дело в том что когда мне надо обновить руби я просто пишу
rvm upgrade 1.9.2-p136 192-p180 и всё.
rvm мне и жемсеты перенесет, и пересоберет что надо в жемах. не надо париться. и симлинку на дефолтный обновит.всего одна команда против трех.
а чем он вас напрягает?
сделать дефолтным другую версию руби не получиться — прав не хватит.
ну с капистрано не получиться nologin
Кстати для полноге zero-downtime нужно делать так:
after_fork do |server, worker|
begin
worker.user('deployer', 'deployer') if Process.euid == 0
defined?(ActiveRecord::Base) and
ActiveRecord::Base.establish_connection
old_pid = "#{server.config[:pid]}.oldbin"
if File.exists?(old_pid) && server.pid != old_pid
begin
# after this all request will be processed by new workers
Process.kill("WINCH", File.read(old_pid).to_i)
sleep 0.1
# send stop for the old master
Process.kill("QUIT", File.read(old_pid).to_i)
rescue Errno::ENOENT, Errno::ESRCH
end
end
rescue => e
puts "[#{Process}]: #{e.message}\n"
puts "[#{Process}]: #{e.backtrace.join("\n")}"
end
end
то что вы используете thin это ваше право.
а вот то что вы собираете из сорцов — значит у вас очень много свободного времени. как вы обновляете руби? ручками? в наше то прогрессивное время…
в любом случае удачи вам
а зачем плодить кучу сущностей? у каждого юзера своя версия rvm. вот кому это надо?
Забыли одну весчь.
before_exec do |server|
ENV["BUNDLE_GEMFILE"] = "#{rails_root}/Gemfile"
end

Если этой строчки не будет, то при обновлении Gemfile у вас после релоада уникорна не будет новых изменений бандла джемов.
консоль лучше всего ;)
у меня вот так — snapplr.com/gpr1
ммм… нями нями… из убунту делаем слакварь! правильно! хороший совет! потом после тех кто будет такое делать, другим будет легче получить больше бабла с клиента ;)

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity