- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
如何使用 Capistrano 将 Rails 应用程序部署到无法访问外部网络或存储库的生产或暂存服务器?
我已经设法完成部署的一半,并意识到 Capistrano 没有在我的本地机器上下载 git repo,但它首先连接到远程服务器 并尝试在那里下载 Git 存储库。
我希望有一个类似 Java ee 的构建系统,其中创建可交付成果并将该可交付成果发送到服务器。就像您构建 .ear 文件并将其部署到您想要的任何服务器上一样。显然在 RoR 中,你被迫(据我所知)在该服务器上构建应用程序,在那里创建一个 gem 存储库,在那里克隆最新的分支等等。
有什么方法可以将准备运行的包发送到远程服务器吗?
最佳答案
更新于 2014 年 8 月 29 日
可以将 capistrano 指向本地存储库。我已经做了。
你需要一个 bare_repo 来 pull ,所以首先在远程机器上创建一个裸仓库:
mkdir -p ~/projects/my_project.git
cd ~/projects/my_project.git
git init --bare
然后您需要以某种方式将您的代码推送到该存储库。您可以通过 ssh 隧道推送,或者您可以压缩您的工作仓库,通过 scp 将其复制到远程机器,解压缩,然后设置该工作目录以推送到您的新裸仓库。
然后回到您的工作站并编辑您的 deploy.rb 文件以指向您在远程计算机上创建的本地存储库。
set :repo_url, 'file:///path/to/bare_repo.git'
然后 capistrano 应该能够从本地 git 存储库中 pull 。
可选:如果 capistrano 仍在寻找在线 repo,则浏览到远程服务器上的部署目录,并清除 repo 文件夹:
cd /directory_where_i_am_deploying_to/
rm -rf repo
关于ruby-on-rails - 在服务器上没有互联网访问权限的 Capistrano 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25233076/
我是 Capistrano 的新手,我想知道为我的项目管理 Capistrano 配置的最佳方法是什么。 具体应该在哪里config/deploy.rb与我的项目的源代码控制相关吗?我应该存储没有特定
我正在使用 Capistrano 管理在多个负载平衡服务器上运行的 Java Web 应用程序。某些任务(例如配置更改)需要重新启动服务器或重新部署应用程序,在此期间服务器变得无响应。 如果 Capi
有没有办法可以看到 capistrano 任务依赖树?我有一个大项目,有很多任务和依赖项,但我对整个画面一无所知。 帕纳约蒂斯 最佳答案 在 Capistrano 3 中,您可以添加 --trace
我有一个命名空间和一些在 deploy:updated 之后运行的命名空间中的任务。下面是一个例子: namespace :myservice do task :start do on r
我想在运行 deploy:migrate 任务之前停止一些进程。我知道我可以通过复制现有代码并在任务的开头和结尾添加停止/启动步骤来重新定义 deploy:migrate 任务。 我想知道是否有办法避
我将如何更改 Capistrano 使用的临时目录? 示例:代替 /tmp ,我想用/home/user/tmp 我现在的 VPS 有 /tmp安装为 noexec ,这使我在尝试运行时获得了权限被拒
使用 Capistrano,如何回滚到特定版本? 我服务器的文件夹有一个/release 文件夹,我如何回滚到特定的文件夹? 我是否可以在本地获取计算机上的版本列表? 我正在使用 GIT,但这不起作用
我尝试使用“cap rollback”,但出现以下错误: $ cap rollback the task `rollback' does not exist 我需要做一些额外的设置才能使回滚正常工作吗
我正在使用 Capistrano 部署 ruby on Rails 项目。我正在尝试以用户“部署”身份登录远程服务器并部署此应用程序。 当我通过 ssh 进入框进行部署并 git 克隆项目时,它可
我正在使用 Capistrano 部署 ruby on Rails 项目。我正在尝试以用户“部署”身份登录远程服务器并部署此应用程序。 当我通过 ssh 进入框进行部署并 git 克隆项目时,它可
我正在使用 capistrano、capistrano/rbenv、capistrano/bundler 和 capistrano/rails。我在 capistrano 编译 Assets 的步骤中
尝试将此代码块授予 capistrano 的版本 3 但无济于事。一切都变了。任何人都可以帮助我在正确的轨道上进行转换吗? 旧版本 2 deploy.rb: #require 'new_relic/r
我对这两种工具都是新手,还没有完全掌握。 如果我使用 Capistrano 进行部署,为什么 Gradle 是部署目标? 另见 Gradle Overview . 最佳答案 Gradle 是从 Gro
如何使用 Capistrano v3 仅部署到一台服务器?我在那里发现的所有解决方案都部署到每台服务器,因此,我认为它们适用于 v2。 我不想部署一个阶段,我已经在使用多阶段,我只想在其中一个阶段部署
在 Capistrano Multi-staging documentation set :deploy_env, 'production'用来。是 deploy_env同 rails_env其中te
部署应用程序时,我将 Capistrano 与 capistrano_rsync_with_remote_cache gem 一起使用。 使用新软件升级部署服务器后出现问题: 卡皮斯特拉诺 2.5.1
capistrano-chef 是否有替代品?厨师独奏的 gem ?主要是为了避免两次定义服务器信息。 最佳答案 我在这个话题上发现了一些新鲜而热门的东西: Roundsman gem 文件: gem
我正在尝试通过遵循 DOCS 来学习使用 Capistrano 3,并且我编写了一个简单的任务来测试我的理解。 任务在默认 task 中创建目录在 lib/capistrano/tasks : d
我有一个 capistrano 任务,它整合了 Rails 项目的多个阶段的部署。 例如: task :consolidated_task do build #creates a new re
来自 deploy.rb 的片段 task :prod1 do set :deploy_to, "/home/project/src/prod1" end task :prod2 do set
我是一名优秀的程序员,十分优秀!