(1)安装capstrano gem install capstrano# --version默认版本也行
(2)capfile .可以看到怎么初始化capistrano文档的命令,以及官方文档网址,大的版本信息
(3)cap install 这一步如果你是单独新建了一个文件夹会获得如下结构。
.
├── Capfile
├── config
│ ├── deploy
│ │ ├── production.rb
│ │ └── staging.rb
│ └── deploy.rb
├── lib
│ └── capistrano
│ └── tasks
└── log
└── capistrano.log
如果你在你的ruby项目里面他会自动把上面的目录结构融合在相应的文件夹下。
(4)修改stage 如果有需要默认就是生成的production 以及staging,采用默认可以跳过这步,直接去设置deploy.rb这个文件里面的set,放开屏蔽加上自己的就可以了
修改stage set :stage_dir, 'config/deploy'
set :stages, ["iqiyi_bj_production","iqiyi_sh_production","youku_production",
"tencent_production"] 可以使用fetch(:stage) 获得相应的stage参数
(5)设置deploy.rb文件
set :application, 'xxxx'
set :repo_url, 'ssh://git@1xxxx'
set :branch, "master"
set :deploy_to, '/home/xx/xxx'
set :scm, :git
set :pty, true
set :keep_releases, 5
根据自己开发的不同增加设置
(6)测试部署
a、没有走第4步设置个性staging的可以直接cap production deploy
b、走第4步的 把production换成相应的 cap xxx_production deploy
(7)写task 版本不同语法格式还是有区别的,按照官方文档好点
3.x版本的
after :published,:start
task :start do
on roles(:all)do |host|
execute <<-EOF
cd "#{current_path}"
cd ..
BSE="/home/bidder/xxx/cabbage"
if [ -d $BSE ]
then echo "$BSE is exist"
else mv current cabbage
echo "success"
echo "$BSE"
fi
EOF
end
end
2.x版本的
task :start, roles: :app do
run "rm -rf /app/current/data"
end
服务器端产生的文件说明
current 是指当前版本, link 到 release 下的指定版本目录(默认为最新的 releases)
releases 每次部署都会产成一个目录存放项目源码, 目录个数由 :keep_releases 变量来控制
repo 项目的 .git 目录
shared 是项目中共享的内容, 不会随部署而改变
rails项目的 一些列子
https://segmentfault.com/a/1190000002490286
分享到:
相关推荐
laravel, gem 用于使用 Capistrano v3部署 Laravel 项目* Capistrano::Laravel使用 Capistrano v3部署 Laravel 应用程序*安装如果管理 Capistrano 部署作为 ruby 项目,请将这里行添加到应用程序的应用程序中:gem '...
capistrano-3-rails-template, 使用 Capistrano 3部署 Rails 应用程序的模板 Capistrano 3 Rails 配置概述这是部署带有的Ruby on Rails 应用程序的示例配置,包括使用Unicorn和Sidekiq后台员工部署的零停机。...
gem-capistrano-wp, 使用 Capistrano 部署和管理WordPress站点的诀窍 capistrano-wp使用 Capistrano 部署和维护远程WordPress安装的食谱。这是一个替代版本控制和部署策略,来自于 wp堆栈管理中的一个。 mc栈期望...
使用GitLab CI + Capistrano部署CakePHP应用程序.pdf
使用 Capistrano 部署 Phoenix 应用程序。 凤凰特定选项 set :mix_env , "production" 安装 将此行添加到应用程序的 Gemfile 中: gem 'capistrano-phoenix' 然后执行: $ bundle 或者自己安装: $ gem ...
Capistrano :: Buildpack 使用Capistrano部署应用程序。安装将此行添加到应用程序的Gemfile中: gem 'capistrano-buildpack'然后执行: $ bundle或将其自己安装为: $ gem install capistrano-buildpack用法这是一个...
使用Capistrano v3部署CakePHP应用程序。* 重要信息:到目前为止,已经使用CakePHP 3进行了测试,但是应该适用于使用作曲家的CakePHP 2。 安装 将此行添加到您的应用程序的Gemfile中: gem 'capistrano' , '~> ...
使用 Capistrano 3 部署 Craft 网站的框架。 特征 使用 Capistrano 从您选择的 Git 服务器(例如 Bitbucket 或 Github)部署 Craft 网站 在环境之间推和拉数据库 在环境之间同步资产文件夹 受启发的Craft的简单样板...
Capistrano 3兼容任务的集合,使基于Rails和Sinatra的应用程序的部署更加容易。 安装 将此行添加到应用程序的Gemfile中: gem 'capistrano-cookbook', require: false, group: :development 然后执行: $ bundle ...
该gem提供了一些Capistrano3任务,以使用npm软件包Forever部署NodeJS服务器,以确保该应用程序可以永久运行。 该宝石被命名为“ capistrano-4ever”,因为“ capistrano-forever”被使用(因此,可能使该宝石变得...
使用 Capistrano 3 实现自动化部署可以带来以下几个优点: * 减少人工错误:自动化部署可以减少人工错误,提高部署效率。 * 提高部署速度:自动化部署可以快速完成部署过程,提高部署速度。 * 简化部署过程:自动化...
LISSA 部署使用 Capistrano 3 部署 您可以使用它来部署服务器或配备的 Vagrant box。 要求 Ruby 1.9.3 或更新版本 1.6 或更新版本 安装 克隆存储库后执行: bundle install --path=vendor 用法 您可以通过复制 ...
分叉项目。 进行功能添加或错误修复。 为其添加测试。 这很重要,所以我不会在未来的版本中无意中破坏它。 提交,不要弄乱 rakefile、版本或历史记录。 (如果你想拥有自己的版本,那很好,但在提交时单独提交...
deprec, 用于 Capistrano的deprec部署配方的主 respository deprec-- Capistrano的部署配方我在 5年内没有使用/更新过的英镑- Mike是一组用于 Capistrano的任务集。 这些任务提供了安装。配置和控制运行 Ubuntu ...
CapistranoDb任务| 将数据库和资产任务添加到Capistrano到Rails项目。 它仅适用于capistrano3。0.3之前的较早版本适用于capistrano 2。 现在它仅支持mysql和postgresql(远程和本地) 将资产远程同步到本地,将本地...
Github 支持 Capistrano 部署管理 UI。 Strano 允许用户通过一个简洁的 web 界面运行任何的 capistrano任务,能很简单的从你的任意 Github repositories 创建项目。Strano 能使用 Capistrano 配置它本身,也就是说...
capistrano-asg的编写旨在简化Rails应用程序到AWS AutoScale组的部署。 capistrano-asg将: 将代码部署到连接到给定AutoScale组的每个正在运行的实例 部署后,从一个正在运行的实例中创建一个AMI 将带有新代码的...
rvm-capistrano, rvm/Capistrano 集成 gem 描述rvm/Capistrano 集成 gem兼容性带Autolibs的rvm-capistrano 1.3.0 至少需要 RVM 1.19.0 。如果你使用 capistrano 3.0.0,则无法使用这里选项,请将它的扩展到
在实际使用中,你需要创建一个Ansible playbook,引用Ansistrano的角色,并根据项目需求定制各个部署阶段的任务。例如,对于一个Python项目,你可能需要定义如下内容: 1. 安装依赖:确保目标服务器上安装了所有...
Capistrano是一个强大的自动化部署工具,主要在Ruby社区中广泛使用。它允许开发者通过简单的命令行界面执行复杂的部署任务,包括代码更新、数据库迁移、资产编译等。在这个"capistrano-presentation"中,我们将深入...