Capistrano部署和编写器安装问题

时间:2016-05-13 07:43:42

标签: git ssh composer-php capistrano capistrano3

我是作曲家的新手,我试图弄清楚如何将我的代码从我的本地机器部署到我的沙箱机器,但似乎整个过程都以composer install

结束

到目前为止我做了什么:

  • 启动新的git存储库并将其推送到GitHub
  • 我使用composer创建我的本地项目来安装我的依赖项
  • 我设置了一个新的VirtualBox Ubuntu Server
  • 我配置了SSH,因此我可以从本地计算机连接到Ubuntu Server,没有密码(我正在使用ssh密钥)
  • 我设置了我的LAMP
  • 我设置了编辑器,因此它可以使用composer args
  • 从bash运行
  • 我在服务器上配置git
  • 我在我的GitHub帐户上添加了我的服务器SSH密钥,因此我可以在不使用密码的情况下与GitHub进行交互
  • 我已在Ubuntu Server
  • 上设置了我的网站
  • 我对hosts文件进行了更改,以便能够使用域访问我的网站。

以上所有步骤均正常运行。我已经尝试了部署过程手册,它可以正常工作。

我遇到的唯一问题是作曲家,它会返回以下错误:

[Composer\Downloader\TransportException]
Your configuration does not allow connections to http://wpackagist.org/packages.json. See https://getcomposer.org/doc/06-config.md#secure-http for details.

但是修改我的composer.json并替换以下行:

"url" : "http://wpackagist.org"

用这个:

"url" : "https://wpackagist.org"

作曲家也正常运行,所有依赖项都按原样安装。

Capistrano问题

现在我的staging.rb我有以下任务:

namespace :deploy do

 desc 'Copy repository files on my root'
 task :files_to_root do
     on roles( :app ) do
         info 'Starting copying the files'
         execute "cp -a #{fetch( :deploy_to ) }/current/. #{fetch( :deploy_to ) }"
     end
 end

 desc 'Run composer installation'
 task :run_composer do
     on roles( :app ) do
         info 'Starting run composer'
         execute 'sed -i -e \'s/http\:\/\/wpackagist/https\:\/\/wpackagist/\' composer.json'
         execute 'composer install'
     end
 end

 after :finishing, :files_to_root
 after :finishing, :run_composer

但是当我运行cap staging deploy并且脚本到达:run_composer任务时,控制台会记录以下行:

INFO [89538861] Running composer install as merianos@192.168.1.5
DEBUG [89538861] Command: composer install
DEBUG [89538861]    Loading composer repositories with package information
DEBUG [89538861]    Updating dependencies (including require-dev)
DEBUG [89538861]    Nothing to install or update
DEBUG [89538861]    Writing lock file
DEBUG [89538861]    Generating autoload files
INFO [89538861] Finished in 5.563 seconds with exit status 0 (successful).

如果我在部署后尝试在我的服务器上运行composer install,它将安装所有依赖项。

有没有人知道当我从Capistrano执行时,作曲家没有运行的原因是什么?

我做错了吗?

0 个答案:

没有答案