相关疑难解决方法(0)

使用capistrano从不同的git分支部署

我正在使用capistrano来部署RoR应用程序.代码库位于git存储库中,分支广泛用于开发.Capistrano使用deploy.rb文件进行设置,其中一个是要部署的分支.

我的问题是这样的:比方说,我创建了一个新的分支一个.部署文件将引用master分支.我编辑它,所以可以部署A来测试环境.我完成了该功能,并将分支A合并到主服务器中.由于deploy.rb从文件一个是新鲜的,它被合并了,现在deploy.rb分支引用一个.是时候再次编辑了.

这是很多看似不必要的手动编辑 - 参数应始终与当前分支名称匹配.最重要的是,每次都很容易忘记编辑设置.

什么是自动化这个过程的最佳方法?

编辑:结果已经完成了我所需要的人:

今天早上我有机会将一个git存储库的一个分支部署到一个临时服务器,但是没有最模糊的想法.通过capistrano源代码快速搜索显示我可以:branch "branch_name"在部署脚本中使用set .我尝试了它,它的工作原理.然后我想我需要对所有分支进行类似的更改.当然,我是一个懒惰的草皮,并想知道是否有更好的方法.

如果您不熟悉git,git branch命令的输出是一个带有星号的分支列表,标记当前在本地计算机上签出的星号.例如:

> git branch
* drupal_authentication
fragment_caching
master
Run Code Online (Sandbox Code Playgroud)

所以,我想,如果我只是解析输出并搜索标记为当前的分支:

set :branch, $1 if `git branch` =~ /\* (\S+)\s/m
Run Code Online (Sandbox Code Playgroud)

现在,我可以从单个共享的部署脚本部署本地计算机上当前的任何分支.

git capistrano

120
推荐指数
8
解决办法
7万
查看次数

Capistrano部署不从GitHub获取最新提交

当我运行'cap production deploy'时,我没有在服务器上获取我的最新主服务器.以下是部署日志中的行:

DEBUG[208486a4] Command: ( GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/----/git-ssh.sh   /usr/bin/env git ls-remote git@github.com:------.git )
DEBUG[208486a4]     3983b992ede90e5957dc9ddb953c4df488354d7d    HEAD
DEBUG[208486a4]     3983b992ede90e5957dc9ddb953c4df488354d7d    refs/heads/master
DEBUG[208486a4] Finished in 0.832 seconds with exit status 0 (successful).
Run Code Online (Sandbox Code Playgroud)

然后在日志中:

INFO[38bea0b3] Running /usr/bin/env echo "Branch master (at 18306db) deployed as release 20140626124746 by dean; " >> /home/deploy/royalty/revisions.log on 96.126.121.168
DEBUG[38bea0b3] Command: echo "Branch master (at 18306db) deployed as release              20140626124746 by dean; " >> /home/deploy/royalty/revisions.log
INFO[38bea0b3] Finished in 0.116 seconds with exit status 0 (successful).
Run Code Online (Sandbox Code Playgroud)

我最近从使用assembla的repo切换到github.提交:18306db是我推送到assembla的最后一次提交.但是当我在github上查看repo时,所有新的提交都会显示出来.

我用set-url更改了原始URL,然后将其推送到github.

我在这里失踪了什么?谢谢

git ruby-on-rails github capistrano3

2
推荐指数
1
解决办法
1243
查看次数

标签 统计

git ×2

capistrano ×1

capistrano3 ×1

github ×1

ruby-on-rails ×1