EasyCorp / easy-deploy-bundle

The easiest way to deploy your Symfony applications
https://easycorp.io/EasyDeploy
MIT License
471 stars 103 forks source link

Script @auto-scripts was called via post-install-cmd #99

Open infografik opened 5 years ago

infografik commented 5 years ago

Code

$ ./bin/console deploy -v [...] Copying the updated code to the new release directory [user@domain] Executing command: (export APP_ENV=prod; cd /dir/releases/20190919133916 && cp -RPp /dir/repo/* /dir/releases/20190919133916) ----- START ----- Here is mistake: cp -RPp /dir/repo/ /dir/releases/20190919133916) The character does not copy files starting with a dot. Please add: && cp -R /dir/repo/.e* /dir/releases/20190919133916) && cp -R /dir/repo/.g* /dir/releases/20190919133916) Only .* cannot be added due to the presence of '..' in the folder. ----- STOP ----- [...] Installing Composer dependencies [user@domain] Executing command: (export APP_ENV=prod; cd /dir/releases/20190919133916 && /usr/local/bin/composer install --no-dev --prefer-dist --no-interaction --quiet) | err :: Script @auto-scripts was called via post-install-cmd [ERROR] Cancelling the deployment and reverting the changes [...] In Process.php line 256: [Symfony\Component\Process\Exception\ProcessFailedException] The command "ssh -A user@domain '(export APP_ENV=prod; cd /dir/releases/20190919133916 && /usr/local/bin/composer install --no-dev --prefer-dist --no-interaction --quiet)'" failed. Exit Code: 255(Unknown error) [...] Error Output: ================ Script @auto-scripts was called via post-install-cmd [...]

Error reason

In /dir/releases/201909133916: assets composer.json config package.json public symfony.lock tests var webpack.config.js bin composer.lock package-lock.json phpunit.xml.dist src templates translations vendor yarn.lock

There are no files starting with a dot (files are present in /dir/releases/20190919133916): .env .env-test .git .gitignore

felixprojekt commented 5 years ago

Same issue here

lcavero commented 5 years ago

please fix it!

alzedd commented 4 years ago

Any News?

lcavero commented 4 years ago

I solve it adding this lines in deploy.php

public function beforePreparing() { $this->runRemote('cp {{ deploy_dir }}/repo/.env {{ project_dir }}/.env'); $this->runRemote('cp {{ deploy_dir }}/repo/.env.development {{ project_dir }}/.env.development'); }

alzedd commented 4 years ago

while I was waiting for a fix to this issue I put my .env file in the shared folder, which I think it's the best thing to do in order to hide sensitive data such as database coordinates and so on

fd6130 commented 2 years ago

while I was waiting for a fix to this issue I put my .env file in the shared folder, which I think it's the best thing to do in order to hide sensitive data such as database coordinates and so on

But if the .env is a breaking change, rolling back will become another issue i think.

ciscolybon commented 2 years ago

salut

adeltby commented 1 year ago

you should make the .env file and set APP_ENV=prod after that run

composer dump-env prod

then run :

composer install --no-dev --optimize-autoloader