124 Commits

Author SHA1 Message Date
Pascal Hubrecht
6d357e94b6
Safety to avoid modifying files outside deploy_path (#2284)
* Safety to avoid modifying files outside deploy_path

Using writable_dirs with writable_use_sudo can lead to a disaster on a server (example using /var/log instead of var/log as writable dir).

* Update writable.php

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update writable.php

* trailing slash

* docgen

* throw exception if absolute path in writable dirs
2020-12-12 20:21:48 +01:00
Anton Medvedev
e6b491b4ad Fix phpstan error 2020-11-15 23:52:48 +01:00
Anton Medvedev
c7542ec048 Update doc 2020-11-11 10:10:57 +01:00
Mikael Peigney
96dfc6cff6
Allow changing Composer channel (#2265)
Composer installer can now take an argument to select which version channel to use: https://github.com/composer/getcomposer.org/pull/156/files
This allows for exemple to stay on major version 1 without specifying a specific Composer version
2020-11-11 12:09:50 +03:00
Anton Medvedev
c747a5945b Rename git_target to target 2020-10-28 00:12:18 +01:00
Anton Medvedev
ff110c987d
Refactor recipes (#2224) 2020-10-25 18:00:05 +03:00
Anton Medvedev
2feb5c1247 Update docs 2020-10-25 14:20:03 +01:00
Joey Kaan
ee3746690b
Add composer_version to choose which composer version to install (#2222)
Co-authored-by: Joey Kaan <joeyk@spotify.com>
2020-10-25 13:01:34 +01:00
Justinas Urbanavicius
a6edb7f977
fixed issue #2209 (#2211)
* fixed issue #2209

Copy shared files and folder should be verbose only when deployer is run with Very verbose output

* updated CHANGELOG.md

* changed to -vvv

* changes sprintf to interpolation
2020-10-22 13:56:20 +02:00
Andrey Helldar
9f89525548
[composer 3] Removed deprecated option "--no-suggest" (#2212)
* [composer 3] deprecated option "--no-suggest"

* Updated CHANGELOG.md

* Update CHANGELOG.md

Co-authored-by: Anton Medvedev <anton@medv.io>
2020-10-21 23:53:25 +02:00
Anton Medvedev
8e72449246 Add push task 2020-10-11 00:08:50 +02:00
Anton Medvedev
e227623ba6 Fix deploy:check_remote task 2020-10-10 21:58:06 +02:00
Anton Medvedev
6bea23bf02 Fix status command if release not a git repo 2020-10-10 20:38:32 +02:00
Anton Medvedev
f429c750bc Keep release on rollback and mark it as bad 2020-10-09 23:11:30 +02:00
Anton Medvedev
84c9f6bb58 Add status command 2020-10-09 02:24:09 +02:00
Anton Medvedev
c88ebe275f Allow to change current_path 2020-10-09 01:35:42 +02:00
Anton Medvedev
112601294c Fix shared dir with trailing slash 2020-10-09 01:14:16 +02:00
Anton Medvedev
71afcdcc3a Store composer.phar in .dep 2020-10-08 01:19:39 +02:00
Anton Medvedev
a5e00c686a Copy shared dir only if there is no dir 2020-10-08 00:42:44 +02:00
Anton Medvedev
dafad94e8e Better error message for ACL 2020-10-08 00:41:18 +02:00
Anton Medvedev
744c56fc09 Refactor deploy:writable 2020-10-07 23:55:41 +02:00
Anton Medvedev
47a193f9af
Add docgen 2020-10-02 01:11:13 +03:00
Sacharski Bartłomiej
514d997c15
[issue-2170] Use on(localhost(), ...) instead of runLocally in check_remote.php (#2175)
Reworked the `deploy:check_remote` step, to use the `on(localhost(), ...)`,
instead of relying on `runLocally`.

This has been changed, to make sure that the all functions that
are being executed and are related to "local" part of the logic,
are ran on the local host.

Previously in `runLocally(sprintf("%s ls-remote $opt $repository $ref", get('bin/git')));`
the `get('bin/git')` would've been executed on the remote host, which
could have resulted in an unexpected behaviour.

By closing all of the instructions, in the closure that is executed
by the `on()` function, we are sure that the context is set to the
right host.
2020-10-01 20:32:51 +03:00
Andreas Möller
96c739bd5b
Enhancement: Add deploy:is-unlocked (#2152) 2020-09-03 16:17:52 +03:00
Anton Medvedev
8293eb931e wip 2020-07-26 22:35:08 +03:00
Anton Medvedev
29a643b623 v7 2020-05-16 18:02:17 +03:00
MoogyG
944f9bd582
Update update_code.php (#1958) 2020-04-20 23:56:31 +03:00
Beno!t POLASZEK
a8dabf03ee
Keep consistency with deployer executable naming (#2011) 2020-03-06 12:49:07 +03:00
Jono Menz
c0bf1d7913
Fix check_remote task revision resolution (#1995)
* Support branch & tag if specified
* Support shortened commit hashes
* Skip on first deployment
* Get true current ref from git

Fixes #1994
2020-02-01 22:15:53 +03:00
Vladimir Pak
377adf977a
Speedup deploy:clear_paths (#1992)
* Update clear_paths.php

one run much faster than several

* Update CHANGELOG.md
2020-01-30 12:08:11 +03:00
Jono Menz
b7a728b7b3
Fixes for check_remote task and SS recipe (#1991)
* Fix check_remote task

* Check remote head contents locally
* Ensure .dep/HEAD file is available so error isn’t thrown
* Document task usage

Fixes #1990

* Fix Silverstripe recipe

* Additionally check shared directory for assets since this directory is commonly excluded from project git repos
* Ensure shared_assets returns a non-null value so the release folder can’t get accidentally deleted

Fixes #1989

* Update CHANGELOG.md

* Clarified contribution instructions

* Update issue templates

Added a bug report template
2020-01-29 11:13:11 +03:00
u_mulder
861f1a34bb Add minor fixes for recipes steps (#1945) 2019-10-26 14:30:22 +03:00
Anton Medvedev
85aae9fd68 Add deploy:check_remote task 2019-08-12 21:01:32 +03:00
Anton Medvedev
4190e28fcb
Revert "Handle asterisk wildcard in shared files (#1895)" (#1897)
This reverts commit 6dd0a2c1f7eda33f9b5dbde287ffeda889e025de.
2019-08-08 11:26:20 +03:00
Vytautas Koryzna
6dd0a2c1f7 Handle asterisk wildcard in shared files (#1895) 2019-08-07 11:02:08 +03:00
Ahmad Mayahi
bb4d41c896 Add check_remote_head option to avoid unnecessary new releases by che… (#1759)
* Add check_remote_head option to avoid unnecessary new releases by checking the remote git HEAD without cloning the repo.

* Add check_remote_head into the CHANGELOG

* Add the pull request link to CHANGELOG

* Update CHANGELOG.md

Removed extra spaces: https://github.com/deployphp/deployer/pull/1759

* Fix changelog. Improve check_remote_head

* Use GrasefulSutdown exception instead of exit(0).

* Change bash if statement in check_remote_head.

* Remove redundant code.

* Replace if statement with test.
2019-08-06 21:52:41 +03:00
Andrey Helldar
2ef394e125 Fixed bug "Can't detect http user name." (#1876)
* Fixed bug "Can't detect http user name."

See:
* https://github.com/deployphp/deployer/issues/1778#issuecomment-507228046
* #1805

* Update writable.php
2019-07-01 15:37:15 +03:00
Kostadin A
82a00248fb Prevent dir creation when it is existing (#1858)
If "shared" directory is already existing just do not call mkdir, to prevent pointless update during processing of the "shared" files.
2019-06-07 06:17:16 +03:00
Jānis Gruzis
10ba0fae78 Avoid zombie processes in http user resolution. (#1805)
* Avoid zombie processes in http user resolution.

* Changelog improved.
2019-05-16 14:51:00 +07:00
Ján Regeš
c37f5998fc Added writable_recursive option (default: true) used in all writable modes (chmod, chown, chgrp, acl) (#1823)
* Added `writable_recursive` option (default: true) used in all writable modes (chmod, chown, chgrp, acl) (#1822)

* Update CHANGELOG.md
2019-03-31 20:11:54 +07:00
Filippo Tessarotto
ec0e8c4fdc Git: add option to disable --dissociate flag on cloning (#1820) 2019-03-28 20:26:42 +07:00
Pablo Escobar
8c3bcc3c8c issues 1788 (#1790)
Fix http_user detection
2019-01-11 18:54:52 +07:00
Marko Kruljac
ab290fb04f http_user detection command could return wrong user (#1779)
* Add test before http_user detection

Script will no attempt to longer detect http_user if there are more than 1 possible candidates.

* Update CHANGELOG.md

Updated for issue #1778

* Update CHANGELOG.md

Added missing link to issue

* Change detection strategy from bash test to php

This reduces the number of ssh calls to the remote host.
2019-01-02 19:44:33 +07:00
Philipp Bräutigam
ad8e77579d Pass-through the quiet mode into the git commands for updating code (#1724)
* Enabled quiet mode for git if the verbosity level is 16 (QUIET)

* Updated CHANGELOG.md
2018-10-05 13:20:49 +07:00
Bernhard Zürn
26c3400d53 Added Exception Handling for perhaps missing config param (#1677)
* modify wrong ticket url (#1605)

* moving the name column to the last position to show full name

- bug fix: #1579

* add changelog

* update changelog.md

* update CHANGELOG.md

* modify command to find http user

* modify command to find http user

* modify wrong ticket url

* Remove magento:enable from Magento 2 recipe (#1606)

* Remove magento:enable from Magento 2 recipe

Magento's module states are stored in app/etc/config.php. This task
ignored that and blindly enabled all installed modules.

* Mention the removal of magento:enable in the changelog

* Extend deploy:cleanup with tty allocation when using sudo. (#1607)

* Added option cleanup_tty to allow allocation when using sudo

* Added comment for new option cleanup_tty to CHANGELOG

* Allow to set template path in Drupal 7 Settings recipe (#1613)

* Change drupal:settings task to drupal:configure

* Drupal 7 recipe - Set template file path

* Changelog

* Fixed once() tasks that where being run multiple times with ParallelE… (#1624)

* Fixed once() tasks that where being run multiple times with ParallelExecutor

* CHANGELOG: reorder issue

* Add test case for parallel deploy on ->once() task

* Added cleanup_use_sudo option to all commands in deploy:cleanup (#1632)

* Added option cleanup_tty to allow allocation when using sudo

* Added comment for new option cleanup_tty to CHANGELOG

* Added cleanup_use_sudo option to all commands in cleanup.php

* Fix return types for fluent interface (#1638)

* Add Prestashop 1.6 recipe (#1641)

* Add Prestashop 1.6 recipe

* Update changelog

* Sleep between process status calls to prevent 100% CPU usage (#1654)

* Sleep between progress status calls to prevent 100% CPU usage

* Add changelog entry

* Typo in changelog entry

* Update ParallelExecutor.php

* Update ParallelExecutor.php

* locate binary with less subprocesses (#1634)

* Set custom user for CI environments (#1659)

* Detect CI user

* Update CHANGELOG.md

* Update README.md

* [deploy:writable] chgrp doesn't need http_user (#1660)

* deploy:writable: chgrp doesn't need http_user

* Update CHANGELOG.md

* Add missing deploy:writable entries (#1662)

* Fix missing deploy:shared entries (#1664)

* Added Exception Handling for perhaps missing config param

Sometimes deploy_path is not set and a cd into this folder is not possible. But the deployment can be successful without it.

* style

* #1677 fixes according pull-request feedback

* #1677 code style fixes

* Added Exception Handling for perhaps missing config param

Sometimes deploy_path is not set and a cd into this folder is not possible. But the deployment can be successful without it.

* style

* #1677 fixes according pull-request feedback

* #1677 code style fixes

* Changelog entry for #1677

* Changelog entry for #1677

* Changelog entry for #1677
2018-09-05 19:03:04 +07:00
Filippo Tessarotto
68d2cf32e9 [deploy:writable] chgrp doesn't need http_user (#1660)
* deploy:writable: chgrp doesn't need http_user

* Update CHANGELOG.md
2018-08-27 13:33:45 +07:00
klopschlike
218369dd02 Added cleanup_use_sudo option to all commands in deploy:cleanup (#1632)
* Added option cleanup_tty to allow allocation when using sudo

* Added comment for new option cleanup_tty to CHANGELOG

* Added cleanup_use_sudo option to all commands in cleanup.php
2018-08-27 13:33:45 +07:00
klopschlike
c9333cc376 Extend deploy:cleanup with tty allocation when using sudo. (#1607)
* Added option cleanup_tty to allow allocation when using sudo

* Added comment for new option cleanup_tty to CHANGELOG
2018-08-27 13:33:45 +07:00
Ryan Park
96f5edaebe moving the name column to the last position to show full name (#1580)
* moving the name column to the last position to show full name

- bug fix: #1579

* add changelog

* update changelog.md

* update CHANGELOG.md

* modify command to find http user

* modify command to find http user
2018-04-18 11:22:03 +07:00
Martin Supiot
006e0b16f3 fix typo (#1585) 2018-04-10 14:49:32 +07:00