• Mina 升 1.0 后的差异 at 2017年3月27日

    提供一个可用的 Mina 1.0 的配置文件:

    require 'mina/bundler'
    require 'mina/rails'
    require 'mina/git'
    require 'mina/rvm'
    require 'mina/puma'
    require 'mina/logs'
    
    set :domain, 'www.haijia.org'
    set :user, 'deploy'
    set :deploy_to, '/home/deploy/www.haijia.org/haijia'
    set :repository, 'git@github.com:chinakr/haijia.git'    # private repository
    set :branch, 'master'
    
    set :shared_dirs, fetch(:shared_dirs, []).push('public/upload', 'tmp/sockets', 'tmp/pids', 'db/production')
    set :shared_files, fetch(:shared_files, []).push('config/database.yml', 'config/secrets.yml')
    
    desc 'Set up environment.'
    task :environment do
      invoke :'rvm:use', 'ruby-2.4.1@rails5'
    end
    
    desc 'Prepare for deployment.'
    task :setup do
      in_path "#{fetch(:shared_path)}" do
        ['config/database.yml', 'config/secrets.yml'].each do |file|
          comment %{Be sure to edit 'shared/#{file}'.}
        end
      end
    end
    
    desc 'Deploy current version to the server.'
    task :deploy => :environment do
      deploy do
        invoke :'git:clone'
        invoke :'deploy:link_shared_paths'
        invoke :'bundle:install'
        invoke :'rails:db_migrate'
        invoke :'rails:assets_precompile'
        invoke :'deploy:cleanup'
    
        on :launch do
          invoke :'puma:start'
          invoke :'puma:phased_restart'
        end
      end
    end
    

    需要注意的是 https://github.com/mina-deploy/mina/blob/master/tasks/mina/bundler.rb 中已经包含了 set :bundle_path, 'vendor/bundle',所以在设置 shared_dirs 要使用 set :shared_dirs, fetch(:shared_dirs, []).push('tmp/sockets', 'tmp/pids') 而不是 set :shared_dirs, ['vendor/bundle', 'tmp/sockets', 'tmp/pids']。这样就不会出现 mina deploy 时每次都重新 bundle 的问题了。

  • 《Rails 指南》发布 at 2017年2月26日

    谢谢,是五笔输入错误,已把修正推送到 GitHub,thx a lot!

  • 《Rails 指南》发布 at 2017年2月23日

    非常抱歉,这一章按计划是由我负责翻译的,还需要一些时日才能出炉,不好意思让您久等 👣

  • 原来是要使用fetch(:deploy_to)代替#{deploy_to}

    task :setup do
      ['log', 'config', 'public/upload', 'tmp/pids', 'tmp/sockets'].each do |dir|
        command %{mkdir -p "fetch(:deploy_to)/shared/#{dir}"}
        command %{chmod g+rx,u+rwx "fetch(:deploy_to)/shared/#{dir}"}
      end
    
      ['config/database.yml', 'config/secrets.yml', 'config/puma.rb'].each do |file|
        command %{touch "fetch(deploy_to)/shared/#{file}"}
        comment %{Be sure to edit 'shared/#{file}'.}
      end
    end
    
  • “布署”是不是应该改为“部署”?

  • 作为 Sublime Text 和 Atom 文本编辑器“重度+初级”用户,报名捧场...

  • TextMate 2 进入 RC 了 at 2016年11月15日

    Sublime Text 3和Atom好像已经足够好了。错过了TextMate的时代,遗憾...

  • 机器是好机器,我想要这样的机器,只是价格翻了一番,再不赚钱连这个吃饭的家伙都买不起了...

    ¥28900

    新款MLH42深空灰/新款MLW82银,带touch bar定制机

    LED 15.4Retina 16G ddr3 2T SSD

    2.9GHz 四核Intel Core i7 Turbo Boost加速至3.8GHz

    Intel 530、Radeon Pro 460 4G显存、USB-C*4、

    2880*1800分辨率、Force Touch触控板、1.83kg

  • 找一位 Rails 指南合译人 at 2016年10月31日

    #10楼 @mingyuan0715 👍 翻译不易,翻译出好作品更是难上加难,作为《Rails 指南》和《Ruby on Rails 教程》的读者,向 Andor Chen 的辛勤工作致敬!

  • 报名~ 希望大家多分享Rails和创业的故事 😄

创业者,站长,程序员,产品经理