0

i've the following easy capifony script to copy the local project to my server:

set :application, "project"
set :domain,      "88.88.88.88"
set :deploy_to,   "/var/www/project"
set :app_path,    "app"
set :user,        "root"

set   :scm,              :git
set   :repository,       "file:///Users/berlin/vagrant-workspace/essen"
set   :deploy_via,       :capifony_copy_local
set   :use_composer,     true
set   :use_composer_tmp, false
set   :copy_vendors,     true

role  :web,           domain
role  :app,           domain, :primary => true

set   :use_sudo,      false
set   :keep_releases, 3


logger.level = Logger::MAX_LEVEL

This is my output for cap:deploy:setup:

  * 2014-10-06 21:55:38 executing `deploy:setup'
  * executing "mkdir -p /var/www/project /var/www/project/releases /var/www/project/shared"
    servers: ["88.88.88.88"]
    [88.88.88.88] executing command
    command finished in 119ms
  * executing "chmod g+w /var/www/project /var/www/project/releases /var/www/project/shared"
    servers: ["88.88.88.88"]
    [88.88.88.88] executing command
    command finished in 144ms

And then i can't deploy because of a missing folder. It looks like that the script doesn't create the folder inside releases.

cap deploy

  * 2014-10-06 21:55:59 executing `deploy'
  * 2014-10-06 21:55:59 executing `deploy:update'
 ** transaction: start
  * 2014-10-06 21:55:59 executing `deploy:update_code'
    triggering before callbacks for `deploy:update_code'
--> Updating code base with capifony_copy_local strategy
--> Using Copy Local Strategy
    executing locally: "git ls-remote file:///Users/berlin/vagrant-workspace/project HEAD"
    command finished in 12ms
  * getting (via checkout) revision a7ba07ac38fee4b5375c6d383886a906c1a551d5 to /var/folders/l6/ptd6l19s2vb98z6bbnb1k7b00000gq/T/20141006195559
    executing locally: git clone -q file:///Users/berlin/vagrant-workspace/project /var/folders/l6/ptd6l19s2vb98z6bbnb1k7b00000gq/T/20141006195559 && cd /var/folders/l6/ptd6l19s2vb98z6bbnb1k7b00000gq/T/20141006195559 && git checkout -q -b deploy a7ba07ac38fee4b5375c6d383886a906c1a551d5
    command finished in 72ms
  * 2014-10-06 21:55:59 executing `symfony:composer:install'
    triggering before callbacks for `symfony:composer:install'
  * 2014-10-06 21:55:59 executing `symfony:composer:copy_vendors'
--> Copying vendors from previous release
  * executing "vendorDir=/var/www/project/current/vendor; if [ -d $vendorDir ] || [ -h $vendorDir ]; then cp -a $vendorDir /var/www/project/releases/20141006195559; fi;"
    servers: ["88.88.88.88"]
    [88.88.88.88] executing command
    command finished in 103ms
  * 2014-10-06 21:56:00 executing `symfony:composer:get'
  * executing "if [ -e /var/www/project/releases/20141006195559/composer.phar ]; then echo 'true'; fi"
    servers: ["88.88.88.88"]
    [88.88.88.88] executing command
    command finished in 90ms
--> Downloading Composer
  * executing "sh -c 'cd /var/www/project/releases/20141006195559 && curl -s http://getcomposer.org/installer | php'"
    servers: ["88.88.88.88"]
    [88.88.88.88] executing command
*** [err :: 88.88.88.88] sh: line 0: cd: /var/www/project/releases/20141006195559: No such file or directory
    command finished in 106ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /var/www/project/releases/20141006195559; true"
    servers: ["88.88.88.88"]
    [88.88.88.88] executing command
    command finished in 102ms
failed: "sh -c 'sh -c '\\''cd /var/www/project/releases/20141006195559 && curl -s http://getcomposer.org/installer | php'\\'''" on 88.88.88.88

I can't find any solution. Does anybody have an idea for my problem? Thank you very much.

Wolf-Tech
  • 1,259
  • 3
  • 18
  • 38

1 Answers1

0

If someone will have the same problem. This is a working script for me:

set     :application,   "project"
set     :domain,      "88.88.88.88"
set     :deploy_to,     "/var/www/project"
set     :app_path,      "app"
set     :user,          "root"


set     :scm,           :git
set     :repository,    "file:///Users/berlin/vagrant-workspace/project"

set   :deploy_via,       :capifony_copy_local
set   :use_composer,     true
set   :use_composer_tmp, true

role  :web,           domain
role  :app,           domain, :primary => true

set   :use_sudo,      false
set   :keep_releases, 3

set :shared_files,      ["app/config/parameters.yml"]
set :shared_children,   [app_path + "/logs"]

#logger.level = Logger::MAX_LEVEL

after "deploy:finalize_update" do
  capifony_pretty_print "--> Set permissions for writable directories"
  run "chown -R www-data:www-data #{latest_release}/#{cache_path}"
  run "chown -R www-data:www-data #{latest_release}/#{log_path}"
  run "chmod -R 777 #{latest_release}/#{cache_path}"
  puts "✔"
end

I don't know exactly the difference, but this snippet works fine.

Wolf-Tech
  • 1,259
  • 3
  • 18
  • 38