问题标签 [capifony]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
225 浏览

deployment - 为什么 capifony 同时创建文件夹 /shared/app/logs 和 /shared/logs (symfony2)

我使用 Capifony 将我的 Symfony2 项目部署到生产服务器。作为 deploy:setup 任务的结果,创建了名为 /shared/logs 的文件夹。然而 symfony2 实际上引用 /shared/app/logs 来存储日志文件,而 shared/logs 保持为空。

有谁知道发生了什么?

0 投票
1 回答
999 浏览

ruby - 替换 Capistrano / Capifony 中的任务

我正在使用Capifony,一个针对 Capistrano 的 Symfony 特定扩展。我需要覆盖其中一个预定义的任务,以便运行我自己的 symfony 任务 - 用我自己的替换https://github.com/everzet/capifony/blob/master/lib/symfony1.rb#L180task :permissions中的任务。

我尝试将以下内容添加到我的deploy.rb文件末尾,但 Capistrano 没有选择它,而是使用已经定义的任务:

我怎样才能做到这一点?

0 投票
0 回答
507 浏览

php - 无法通过 capistrano 和 symfony2 bin/vendors 安装使用代理转发的 ssh 密钥

我们使用 ssh 代理转发将 Symfony2 项目部署到我们的服务器。这工作正常,我们使用 capistrano 从 github 执行 git clone 等没有问题。

但是,对于 Symfony2,您需要执行 bin/vendors install 以获取最新的 deps。这个供应商脚本 ( https://github.com/symfony/symfony-standard/blob/2.0/bin/vendors ) 是一个执行“system()”命令的 php 脚本,例如 git pull。

在 capifony(capistrano 和 symfony 的插件)中实现了供应商命令,我们对其进行了一些修改以使用 try_sudo,由于我们自己的托管平台需要进行更改。这非常适合来自 github 的公共 https:// url

try_sudo "sh -c 'cd #{latest_release} && #{php_bin} bin/vendors install'"

我们面临的问题是,当使用 git@github.com 格式时(需要一些私有 repo 以及当我们想要修改捆绑包并将更改推回时)ssh-agent 不可用,因此我们的转发密钥丢失并且我们得到权限被拒绝的错误。

  • 切换到 https:// 格式听起来很容易解决,但私人仓库要求输入密码。
  • 在 system() 命令中启动 ssh-agent 有效,但是密钥仍然不存在。

所以不知道进一步寻找什么。将 ssh-agent 传递到 php 供应商脚本的某种方式可能是什么?

更新

我找到了答案,出于安全原因,sudo 删除了所有环境变量,因此您永远无法附加到现有的 ssh 代理。

https://serverfault.com/questions/107187/sudo-su-username-while-keeping-ssh-key-forwarding我发现了错误和解决方案。通过将默认值 env_keep+=SSH_AUTH_SOCK 添加到 /etc/sudoers,然后对代理套接字进行 chmodding 以便您正在 sudo 访问的用户可以访问它,您可以保留 ssh 代理。

但是请仔细阅读线程,这样做是不安全的。注销时代理会被销毁,因此在我们的 capistrano 部署序列中,结合没有不受信任用户的服务器,我认为这可能是可以接受的。除非我记错了?

0 投票
2 回答
1074 浏览

capistrano - 部署期间出现 Capifony 错误(OpenSSL::PKey::PKeyError: not a public key "/var/www/.ssh/id_rsa.pub")

我不断收到此错误(OpenSSL::PKey::PKeyError: not a public key "/var/www/.ssh/id_rsa.pub")

提前致谢。

我的 deploy.rb 看起来像这样:

0 投票
2 回答
266 浏览

symfony1 - Capifony Deploy 需要内部供应商文件的密码

我正在通过 Capifony 将 Symfony 2 应用程序部署到 Debian 服务器。该应用程序的主存储库是私有的,但我还通过 composer install 包括了一些私有存储库。这导致了问题。

主存储库克隆得很好。我有公钥设置、带有scm:passphrase:定义的密码设置和以下行以启用密码的自动输入:

当我安装供应商时,项目所需的私有存储库需要密码 - 因为我已经拥有允许连接到我的存储库的私钥/公钥。它返回以下内容:

当这出现时,我无法输入任何密码,因为它只是一个out. 我会认为它共享密码,但似乎composer.phar install没有使用相同的 Capifony 设置。

0 投票
1 回答
1205 浏览

php - 有没有办法覆盖 cap deploy:setup 任务?

我在哪里可以找到 capifony/capistrano 任务以覆盖它们。

我想在运行 cap deploy:setup 时对其进行修改以添加额外的符号链接以适应我的服务器结构。那可能吗?或者至少要编写一个新任务来执行此操作。

0 投票
1 回答
120 浏览

ubuntu - 如何使用 capifony 中的密钥文件进行身份验证?

我正在尝试设置 capifony。我正在使用它 ssh -i keyfile.pem username@servername.com从控制台在服务器上进行身份验证。我如何为此配置capifony?

0 投票
2 回答
553 浏览

capifony - CAPIFONY 和 SYMFONY。部署不创建文件

我已经为此苦苦挣扎了一段时间。在 capifony 下,我运行 $ cap deploy:setup 并在我的远程主机上创建两个文件:1/ 发布 2/ 共享。我认为这表明到目前为止一切都很完美。

但是当我开始部署时,出现以下错误。

看起来没有任何内容被复制到版本中。很多都复制到shared(也许所有)我不知道是否正常。

我可以得到你的建议,我可以如何解决这个问题吗?我应该在哪里寻找一些提示。我一无所知.. 非常感谢。

PS:下面是我的 deploy.rb 文件

0 投票
1 回答
1137 浏览

javascript - 由于资产:转储进程超时,如何调试失败的 Capifony 部署?

失败了,这是失败输出的片段

我在php app/console assetic:dump web --env=prod本地运行命令,没有问题。

我还检查了 JSLint 上相关的预编译 JS 文件,没有错误。

这是我如何将问题 JS 文件嵌入到我的模板中

我不确定如何找出问题所在。过去有一个缺失;或一些会导致 yui_js 动摇的东西,但我想不出还有什么可以尝试的。

0 投票
0 回答
143 浏览

php - Capifony 使用 symfony2 部署,不包括我的 Bundles

我正在尝试将我的 symfony2 项目部署到亚马逊 ec2,但似乎它没有部署我的自定义包。

我收到此错误:

PHP 致命错误:在第 20 行的 /var/www/html/releases/20120901100611/app/AppKernel.php 中找不到类“MyCompany\MainBundle\MainBundle”

已安装所有供应商捆绑包。我的错误是什么?