Back

对于非Rails站点, 使用 capistrano 来部署

发布时间: 2016-08-03 08:45:00

capistrano  太好用了。 神器。

目前的命令: $ bundle exec cap deploy (  需要 ruby 1.9.3 + 环境)

部署脚本: config/deploy.rb

(注意: 我把关键点 按照注释的形式,写在了下面)

# -*- encoding : utf-8 -*-
require 'capistrano-rbenv'
load 'deploy/assets'
SSH_USER = '?????'
ssh_options[:port] = ?????
set :rake, "bundle exec rake"
set :application, "touring" 
set :repository, "./dist"   # 我只部署这个文件夹。
set :scm, :none
set :deploy_via, :copy      # 使用传统的上传代码的形式。
set :copy_exclude, ['tmp', 'log']  # 忽略一些东东

server = "h5.???.com.cn"

role :web, server
role :app, server
role :db,  server, :primary => true
role :db,  server

set :deploy_to, "/opt/app/tuling_h5"
set :copy_exclude, [".git", "node_modules", "src"]  # 不要使用不必要的文件.
default_run_options[:pty] = true

# change to your username
set :user, SSH_USER

namespace :deploy do
  task :restart, :roles => :app, :except => { :no_release => true } do
    run "nginx -s reload"
  end

end

我们之前部署vuejs的方式:  纯手动: 好麻烦。

1. $ npm run build     # 生成 dist 目录

2. $ zip h5.zip -r dist    把dist 目录打包成 h5.zip 

3. $ scp -P <ssh port> h5.zip [email protected]:/opt/app/h5   # 把h5.zip copy 到对应目录下

4. $ ssh yoursitte.com   # ssh  登陆到服务器上,具体命令略

5. $ cd /opt/app/h5

6. $ unzip h5.zip

7. $ mv current  archive.20160803001  # 把当前的部署版本重命名

8. $ mv dist current   # 把最新的文件夹,命名成  current. 

9. $ nginx -s reload  # 重启 nginx 

Back