fix: adjust deployer config to prevent symlink loop issue with rsync
This commit is contained in:
+18
@@ -69,6 +69,24 @@ $rsyncOptions = [
|
||||
'timeout' => 300,
|
||||
];
|
||||
|
||||
// The provider's rsync (3.5.0) fails to chdir into a destination whose path traverses
|
||||
// symlinks, which /home/www/p704161 does: `change_dir#1 ... Too many levels of symbolic
|
||||
// links (40)`. Verified: the same directory rsyncs fine when addressed relative to $HOME.
|
||||
// Only contrib/rsync.php hands a path to rsync; every other task goes through the SSH
|
||||
// shell, which resolves the absolute path without trouble, so deploy_path stays absolute.
|
||||
set('remote_home', '/home/www/p704161');
|
||||
|
||||
set('rsync_dest', function () {
|
||||
$releasePath = get('release_path');
|
||||
$home = rtrim(get('remote_home'), '/').'/';
|
||||
|
||||
if (!str_starts_with($releasePath, $home)) {
|
||||
return $releasePath;
|
||||
}
|
||||
|
||||
return substr($releasePath, strlen($home));
|
||||
});
|
||||
|
||||
host('prod')
|
||||
->setHostname('185.243.135.29')
|
||||
->setRemoteUser('p704161')
|
||||
|
||||
Reference in New Issue
Block a user