首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用中的cloudcontrol.com tcp端口& procfile多个命令和推送挂钩

使用中的cloudcontrol.com tcp端口& procfile多个命令和推送挂钩
EN

Stack Overflow用户
提问于 2013-02-13 15:29:59
回答 1查看 214关注 0票数 1

我正试着让红星在cloudcontrol.com上运行。我有四个问题:

  1. 我需要做更多的工作来启动一个run服务器,例如,每次部署时我都需要运行rake任务。我能把这些放在一个班轮里吗?我的过程文件中有以下内容供我进行测试:

网络:触摸页;回音"barbarz";bundle exec rails的-p $PORT -e生产

但我既没有看到文件foobar,也没有在日志文件中找到barbarz:

  1. 当我登录到服务器并想启动应用程序时,它告诉我tcp $PORT已经在使用了:

u24293@depvk7jw2mk-24293:~/www$ fuser $PORT/tcp # netstat和lsof是不可用的24293/tcp: 10 13 u24293@depvk7jw2mk-24293:~/www$ ps \ grep 13 u24293 13 0.0 52036 3268?SNs 15:22 0:00 sshd: u 24293@pts/0

由sshd?为什么会这样?

  1. 在推时,我需要改变这种默认行为:

或者在它之后运行一些代码,因为easyredmine不喜欢供应商/插件中的插件(或者我很快就会调用easyredmine的代码)。我将如何做到这一点(而不是改变代码,运行一个后置钩子,比如用capistrano之类的)?

  1. 我们在专用服务器上有自己的gitlab,对于包,我需要提取这些宝石。如何在第一次部署之前获得运行应用程序的用户的公钥,以便将其添加到gitlab?

(预先谢谢:)

EN

回答 1

Stack Overflow用户

发布于 2013-02-13 16:51:52

  1. web命令仅在web容器中执行。使用run bash将您连接到应用程序的特殊ssh容器。请参阅https://www.cloudcontrol.com/dev-center/Platform%20Documentation#secure-shell-ssh 通常,不能在一个Procfile行中放置多个命令。将它们封装在sh -c '<cmd1>; <cmd2>'调用中,或者显式地使用shell脚本。请记住,这个脚本将在正在启动的每个容器中执行。这包括部署应用程序的容器数量,以及平台在运行过程中触发的任何重新部署(在节点故障、插件更改等情况下)。
  2. 在ssh容器中,$PORT由连接到的ssh服务器使用。
  3. 如果运行时出现了红地雷问题,您可以删除上述启动脚本中的插件。如果这是一个问题,在宝石安装期间,目前,您无法规避此行为。
  4. 现在不支持需要特殊ssh键的依赖项。如果服务器支持https之上的基本auth,则可以使用https://<username>:<password>@hostname语法。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14857017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档