作者: wosmvp /wosmvp@gmail.com
日期: 2008/7/2
最初发表于:http://www.ruby-lang.org.cn
1. 测试环境:
1. Web服务器的URL: DreamHost提供
svn版本:1.4.2
2. SVN服务器的URL: Google Code提供
3. 测试机环境:
系统:Ubuntu-7.10-amd64
svn版本:1.4.4
Vlad the Deployer版本号: 自编译版 1.2.0.1 (2008/7/1日取源码)
2. 使用方法:
1) 安装Vlad the Deployer
下载 Vlad the Deployer 源码
git clone git://github.com/aussiegeek/vlad.git
打包代码为gem文件
gem build vlad.gemspec
安装 Vlad the Deployer
gem install vlad-1.2.0.1.gem -l
2) 添加mod_rails支持
在Rakefile中添加
require 'vlad'
Vlad.load :app => 'passenger'
3) 修改配置
配置文件为config/deploy.rb ,一个基本可以运行的deploy.rb修改
set :domain, "用户名@WEB服务器"
set :deploy_to, "在WEB服务器上的位置,如 /home/username/web "
set :repository, "SVN服务器"
本例中使用的deploy.rb:
set :svn_cmd, "svn --username 用户名 --password 密码"
set :domain, "***@www.***.com"
set :deploy_to, "程序位置"
set :repository, "Google svn地址"
4) 服务器端配置:
略
5) 包含的Rake任务:
rake vlad:cleanup # Clean up old releases.
rake vlad:debug # Show the vlad setup.
rake vlad:invoke # Invoke a single command on every remote server.
rake vlad:migrate # Run the migrate rake task for the the app.
rake vlad:rollback # Rolls back to a previous version and restarts.
rake vlad:setup # Setup your servers.
rake vlad:setup_app # Prepares application servers for deployment.
rake vlad:start # (Re)Start the web and app servers
rake vlad:start_app # Restart PassengerVlad.load :app => 'passenger'
rake vlad:start_web # (Re)Start the web servers
rake vlad:stop # Stop the web and app servers
rake vlad:stop_web # Stop the web servers
rake vlad:update # Updates your application server to the latest revision.
例如:
rake vlad:update vlad:migrate vlad:start_app
该命令代表的含义为更新后,再进行migrate ,然后重新启动WEB服务器
3. 其它注意事项:
1) 使用其它版本管理工具,例如git,需修改Rakefile
require 'vlad'
Vlad.load :scm => :git
2) SVN需要用户名,密码
在deploy.rb中设定Vlad the Deployer
set :svn_cmd, "svn --username 用户名 --password 密码"
3) 简化命令的使用
vlad采用的是Rake命令,可进行如下简化等:
rake vlad:update vlad:migrate vlad:start_app
修改为
task 'easyupdate'=> ['vlad:update', 'vlad:migrate','vlad:start_app']
然后可以通过
rake easyupdate
来执行
rake vlad:update vlad:migrate vlad:start_app
命令
4) 以下为所有可以设定的系统变量
== Core Variables
repository:: REQUIRED: Repository path: e.g. http://repo.example.com/svn
deploy_to:: REQUIRED: Deploy path on target machines. e.g. /var/www/app
domain:: REQUIRED: Used for the common case of a single target
server. e.g. example.com
current_path:: The full path on the remote host that will be symlinked
as 'current'. Defaults to "#{deploy_to}/current".
current_release:: The full path to the current release's actual location.
Defaults to "#{releases_path}/#{releases.last}".
deploy_timestamped:: Create timestamped release directories instead of using
revision numbers. Defaults to true.
deploy_via:: Which SCM command should be used when deploying the app.
Defaults to "export".
latest_release:: The most recent release, which may not yet have been
symlinked. Defaults to release_path.
migrate_args:: Set this to change the RAILS_ENV that 'rake db:migrate'
will run under. Defaults to "".
migrate_target:: Set this if you need to specify a particular migration
'VERSION' number. Defaults to "latest".
rails_env:: Specifies the RAILS_ENV environment variable that will
be used. Defaults to "production".
rake:: Set this if you need to specify an alternate path to
'rake'. Defaults to "rake".
release_name:: Name of the release directory, if deploy_timestamped is
true. Defaults to timestamp: "YYYYMMDDHHMMSS".
release_path:: Path to this release, which may not have been created
yet. Defaults to "#{releases_path}/#{release_name}".
releases:: An array of all existing releases, oldest first.
Defaults to latest release directory name.
releases_path:: Full path to the 'releases' directory on the remote host.
Defaults to "#{deploy_to}/releases".
revision:: Revision to use for release. Defaults to 'head'.
rsync_cmd:: Path to rsync command. Defaults to "rsync".
rsync_flags:: Flags for rsync. Defaults to ['-azP', '--delete'].
scm_path:: Path on the remote host that will be used as 'working
space' for SCM tasks. Defaults to "#{deploy_to}/scm".
shared_path:: Full path to remote 'shared' directory, symlinked into
your app by default. Defaults to "#{deploy_to}/shared".
ssh_cmd:: Path to ssh. Defaults to "ssh".
ssh_flags:: Flags for ssh. Defaults to "".
sudo_cmd:: Path to sudo command. Defaults to "sudo".
sudo_flags:: Flogs for sudo. Defaults to nil.
sudo_password:: Asks for password when referenced.
umask:: Sets your umask value. Defaults to "02".
== Apache Web Variables:
web_command:: Command to execute when controlling the web server.
Defaults to "apachectl".
== Mongrel App Variables:
mongrel_address:: Defaults to "127.0.0.1"
mongrel_clean:: Defaults to false
mongrel_command:: Defaults to 'mongrel_rails'
mongrel_conf:: Defaults to "#{shared_path}/mongrel_cluster.conf"
mongrel_config_script:: Defaults to nil
mongrel_environment:: Defaults to "production"
mongrel_group:: Defaults to nil
mongrel_log_file:: Defaults to nil
mongrel_pid_file:: Defaults to nil
mongrel_port:: Defaults to 8000
mongrel_prefix:: Defaults to nil
mongrel_servers:: Defaults to 2
mongrel_user:: Defaults to nil
== Perforce SCM Variables:
p4_cmd:: The perforce command to use. Defaults to "p4"
source:: A perforce SCM worker instance.
== Subversion SCM Variables:
source:: A subversion SCM worker instance.
svn_cmd:: The subversion command to use. Defaults to "svn"
== Git - The Distributed SCM
git_cmd:: The git command to use. Defaults to "git"
分享到:
- 2008-07-05 19:01
- 浏览 2036
- 评论(2)
- 论坛回复 / 浏览 (2 / 3029)
- 查看更多
相关推荐
【标题】"tw_a4_vlad_zahariuc_dumitru_covali:Web技术主题下的项目"表明这是一个关于Web技术的项目,可能涵盖了多种Web开发相关的技术和实践。项目可能由Vlad Zahariuc、Dumitru Covali等开发者共同完成,旨在探索...
《MetaTrader 4脚本——Levels_A_Vlad深入解析》 MetaTrader 4(MT4)是一款广泛应用于外汇、期货及股票市场的交易平台,以其强大的图表分析功能和自定义指标及脚本的能力深受交易者喜爱。在MT4中,交易者可以利用...
git是一个分布式的版本控制系统,最初有linux Tovalds编写,初衷是为了管理linux内核代码的管理...Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。同样,eoe.cn客户端的源码也托管在github上。
5. **匹配与识别**:使用余弦相似度或其他距离度量来比较不同图像的VLAD向量,以实现图像的匹配。 在中科大的数字图像分析作业中,这样的项目有助于学生深入理解SIFT和VLAD的概念,并实际操作它们在MATLAB中的实现...
VLAD的目的是优化在搜索质量、搜索速度和内存使用之间的权衡。 在了解VLAD之前,首先需要理解图像检索和相似性搜索中的几个关键概念,如局部描述符、BoF(Bag of Features)框架以及图像索引。 局部描述符是在图像...
Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是...Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。
they explore the multiplicity of VLAD encoding with the extension of three encoding algorithms. Moreover, they equip the spatial pyramid patch (SPM) on VLAD encoding to add spatial information to CNN ...
Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是...Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。
./vlad_w/vl_main.m:使用LDD运行'Weight-Vlad' 例子 高度关注的可视化。 来自亮区的LDD将被保留,而其他LDD将被过滤。 我们可以发现大多数删除的LDD属于背景。 VLAD和Weight-VLAD的比较。 左列显示原始图像。 中间...
VLAD(Vector of Locally Aggregated Descriptors,局部特征描述符聚合向量)作为一种图像检索领域中的关键技术,在处理大规模图像数据集时,提出了将局部描述符聚合为一个紧凑图像表示的方法。VLAD的基本思想是将...
同时,github 也可以被诸如 Capistrano 和 Vlad the Deployer 这样的部署工具所使用。 github 的使用教程: 1. 下载并安装 Github for Windows。 2. 登陆 GitHub,使用自己的 GitHub 账号登陆。 3. 创建一个新的...
VLAD(Vector of Locally Aggregated Descriptors)是一种在计算机视觉领域广泛使用的图像表示方法,特别是在图像检索和识别任务中。它是由Jegou等人于2010年提出的,作为一种改进的特征编码技术,旨在克服SIFT...
"vlad_landing" 是一个项目名称,可能指的是一个网页着陆页的开发项目。从标签 "HTML" 我们可以推断出这个项目主要关注的是超文本标记语言(HTML),这是一种用于创建网页的标准标记语言。现在我们来深入探讨HTML...
在“angular_Vlad_Druzjakin”这个项目中,我们可以找到关于 TypeScript 和 Angular 的深度学习材料。 首先,我们来谈谈 TypeScript。TypeScript 是 JavaScript 的超集,它引入了静态类型系统,使代码更加健壮,更...
用MATLAB在两张大图上按不同大小和步长切割许多图像并生成他们的中心点绝对坐标作为标签
该项目的灵感来自Capistrano和Deployer Vlad,并且建立在Rake克隆版本Phake的顶部。 该项目来自Pomander一个轻型灵活的部署工具,用于部署Web应用程序。 该项目的灵感来自Capistrano和Deployer Vlad,并且建立在Rake...
The control now uses subclassing from Paul Caton (thanks Paul) And the cMemdc for drawing From Vlad Vissoultchev (Thanks Vlad) Awesome code From two very talented programmers. Take a look and tell me ...