问题标签 [php-deployer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHP 部署器不使用默认的 php 版本
我尝试使用 PHP 部署器部署 laravel 5.6。该站点已成功部署。但是我在尝试访问该网站时看到以下错误,
Parse error: syntax error, unexpected '?', expecting variable
(T_VARIABLE) in /mnt/data/sites/laravel_deployer/releases/5/vendor/symfony/http-foundation/Request.php on line 1587
PHP 信息页面显示,该站点使用 PHP 7.0.27 运行
而部署服务器中的默认 PHP 版本是 7.1。
我有以下疑惑,
- 为什么部署的站点没有使用系统默认的 PHP 版本?
- 这是因为 PHP 版本不匹配我在尝试访问网站时遇到解析错误吗?
我的作曲家版本是 1.9.1
Composer.json 文件如下,
php - 使用 php-deployer 时如何设置释放限制?
我正在使用 PHP deployer 6.6.0 来部署基于 Laravel 的网站。
每次我部署它都会创建一个新版本。目前,我有超过 10 个版本,它占用了大量的磁盘空间。
我不想保留超过最后 3 个版本,并且需要旧版本自动翻转。
如何指定要保留的最大版本数?
git - 如何在 Deployer 中记录部署?
我正在使用Deployer并享受它。
我还没有想出如何去做的一件事是写一个我的部署的日志文件。
我正在尝试将提交哈希和日期附加到 revisions.txt:
结果应该类似于:2020-01-09 22:07:00 -0500 staging 146f012d branch='master' 146f012d28d866105aa12605cec6f374d45aec75
不幸的是,我的任务目前仅将其写入文件:-e staging branch=''
我对 Deployer、runLocally、git 或 Unix 有什么误解?
如果有更好的方法来实现我的目标,我很乐意走一条完全不同的道路。
bash - 为什么 Deployer runLocally 不能运行这个变量字符串替换命令?
在我的 Homestead 盒子中以 bash 运行它可以:symbRefHead=$(git symbolic-ref -q HEAD) && echo $symbRefHead && branch_name="${symbRefHead//refs\/heads\/}" && echo $branch_name
那么为什么通过 runLocally 运行它会失败呢?
我收到此错误:
同样,此版本适用于 Bash,但不适用于 runLocally:symbRefHead=$(git symbolic-ref -q HEAD) && echo $symbRefHead && to_be_removed="refs/heads/" && branch_name="${symbRefHead/$to_be_removed/}" && echo $branch_name
我显然试图从字符串变量中删除子字符串(搜索并替换为空),如此处所述:https ://unix.stackexchange.com/questions/104881/remove-particular-characters-from-a-variable-使用-bash#comment437753_104887
PS最终我希望能够将分支名称转换为变量,以便我可以在这里回显它:https ://stackoverflow.com/a/59689871/470749
linux - Deployer SSH bash 未加载配置文件
我正在使用Deployer将 SSH 连接到服务器并运行一些脚本进行部署。我不知道 Deployer 如何执行 ssh 的内部细节。
问题是它只有一个片段,$PATH
这意味着无法找到部署所需的二进制文件。我尝试将一个新的测试变量添加$FOO
到我能想到的所有文件中,以查看加载了哪个文件:
~/.bash_profile
~/.bashrc
~/.profile
/etc/profile
/etc/bash.bashrc
和:
但它们都不起作用,因为$FOO
运行 Deployer 时的值为空。
我还检查了 Deployer 中的标志和命令,似乎没有任何异常:
部署.php
输出
我还有另一台具有类似配置的服务器,它似乎运行良好。我不确定要寻找什么来识别配置中的差异。
php-deployer - PHP Deployer:如何从主机设置中获取用户名
我正在尝试通过 php deployer 部署我的代码,但我遇到了一个语法问题,我该如何重新使用host user
on task
?
例如,我想以USERNAME
动态barfoo
方式替换。不是硬代码。
谁能给我一个建议?很合适。
laravel - 如何设置 Deployer 以仅将指定文件夹从 localhost 同步到生产环境?
我有一个要使用 Deployer 部署的 localhost Laravel 项目。目前我使用 FTP 工具手动完成,只同步应用程序、资源文件夹,似乎工作得很好。
我想使用 Deployer 或其他可以从终端运行的工具来同步或上传新文件到服务器。
有人可以提供食谱或建议吗?我是否需要使用部署程序进行 rsync 设置,或者有没有办法在没有 recipe/rsync.php 的情况下进行设置?
这是我想要配置的步骤(现在):
- 连接到服务器,我有 ssh 访问权限,我可能可以配置一个密钥
- 设置我要同步的 2 3 个文件夹,以及需要忽略的文件。
这些看似简单的任务,但出于某种原因,我很难设置它们。
谢谢
laravel-5 - CentOS 7 上 Laravel 的存储目录的权限问题。使用 chmod 和 chown 更改权限和所有权并不能解决问题
我在修改我的问题时自己想出了这一点,但无论如何我都会用解决方案发布我的原始问题,以防它帮助其他人。
该解决方案与符号链接或 Deployer 无关,但我将保留我的问题,以防有人以类似的方式遇到同样的问题。
我正在尝试在 CentOS 7 服务器上使用Deployer设置 Laravel 5.8 部署。
部署成功。该storage
文件夹在我的文件中设置为共享目录deploy.php
,因此它将storage
文件夹设置为版本之间的持久共享文件夹。它通过storage
为发布创建一个指向共享文件夹的符号链接来实现这一点。
有一个当前版本的文件夹/var/www/test-laravel/current
,它实际上是一个符号链接,指向最新版本的文件夹(在本例中/var/www/test-laravel/releases/18
)。在该文件夹内,该文件storage
夹实际上是指向/var/www/test-laravel/shared/storage
.
我收到以下错误,
在尝试了一些权限/所有者/组的变体之后,出于沮丧,我手动运行chmod -R 777
,chown -R apache.apache
不仅在原始存储文件夹上,而且在所有符号链接文件夹上。
这根本没有改变任何东西。我仍然遇到同样的错误。
我不认为这应该有所作为,但只是为了更好地衡量我已经运行php artisan cache:clear
,php artisan view:clear
和php artisan config:clear
.