问题标签 [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 - Deployer php - 共享文件不起作用
我正在尝试使用 php deployer部署 Wordpress 网站,但wp-config.php
共享文件夹中的文件有问题。
当我部署时,这个不是共享的,我被重定向到/wp-admin/setup-config.php
.
我是否忘记了deploy.php
配置文件中的某些内容?
当我在本地主机上执行此操作时它可以工作,但在我的在线服务器上却不行。
php - NGINX 缓存符号链接的网站位置
我有这个以前没有发生过的奇怪问题。
我在 Digital Ocean 上运行一个使用 NGINX 和 PHP-FPM 的 Ubuntu Box。我还使用 PHP Deployer 在 Stage 和 Prod 之间部署代码。
Deployer 使用符号链接告诉服务器文件在哪里,在这种情况下/var/www/mydommain.com/current
将是指向/var/www/mydomain.com/releases/26
.
这一切都很好,如果我这样做cd /var/www/mydomain.com/current
,它将更改为releases/26
. 然而,该网站仍然指向releases/25
. 我已经多次重启 NGINX 和 PHP-FPM 都没有成功。
为什么 NGINX 仍然指向releases/25
符号链接实际指向的时间releases/26
?我无法得到它。
在这个域的 NGINX 配置中,我有root /var/www/mydomain.com/current
angularjs - Deployer 2 应用程序一台主机
鉴于:
- 单页前端应用(angularJS) & API 后端服务(Symfony3)
- 一个主机用于一个阶段,同时托管前端和后端
- 部署者版本 6.0.3
问题是:如何能够使用以下命令格式部署它们:dep deploy [frontend|backend]
. repository
现在的问题是:您必须将它们描述为 2个独立的主机,因为它们deploy_path
至少使用不同的参数。然后,如果您将它们保存在一个文件中,则不能只为后端和前端提供 2 个任务,如下所述:
我的意思是你可以,但是在命令行中你会写dep deploy stage --hosts frontend
&dep deploy stage --hosts backend
其中任何一个都会失败并出现错误:
我的猜测是它会覆盖任务本身并执行最后一个。
好的。我也可以有一个解决方法
这样,运行它是合乎逻辑的dep deploy:[frontend|backend] stage
,但是因为前端和后端都位于同一台服务器上,并且它们都有deploy_path
参数,例如,它只是用文件中最后一个主机的配置覆盖部署参数。
就此而言,我使用的是onHosts()
对主机声明进行一些调整的函数;
& 2 个任务定义:
这样你就必须这样部署:dep deploy:[frontend|backend] stage --hosts [frontend|backend]
你们都同意这是荒谬的。
我进一步的猜测是将部署分成 2 个文件作为backend.php
& frontend.php
。dep deploy stage -f [frontend|backend].php
,但是对于日常操作来说很不方便,比如数据库导入/导出...
请分享您对此问题的意见或解决方案
symfony - 回滚原则:使用 Deployer 进行迁移
我有一个 Symfony 3 应用程序,我使用部署程序来部署我的应用程序。我也在使用Doctrine Migrations来迁移我的数据库。
我使用symfony3 配方。
当我运行时dep deploy
,部署程序会迁移我的数据库。但是,当我运行dep rollback
它时,它不会回滚相应的学说迁移。
我已经通过谷歌和 Stackoverflow 搜索找到解决这个问题的人,但我似乎找不到任何人。
你有个好主意吗?
php-deployer - deployer.org 如何更改发布文件夹的名称
在我通过命令部署到我的服务器后:
在“ releases
”文件夹中,我有名为 like 1
, 2
, 3
, ...的文件夹
如何将其更改为时间戳,所以在部署命令之后我会得到这样的东西20160425120500
而不是1
ssh - 警告:身份文件 /home/user/.ssh/id_rsa 不可访问:没有这样的文件或目录
我正在使用Deployer将我的代码部署到多个服务器。今天开始部署后出现此错误:
首先,我认为这可能与此服务器配置有关,因为我将完整安装移至另一个托管服务提供商。我试图触发部署到我在过去几天部署得很好的服务器,但随后出现了同样的错误。这很快将我的怀疑从服务器转移到了本地。
由于我在 docker 中运行 PHP(Deployer 是用 PHP 编写的),我认为这可能与我的 ssh-agent 没有从我的主机操作系统正确转发到 docker 有关。我通过直接从我的操作系统(Ubuntu,如果有帮助的话)使用全新的 PHP 安装来验证这一点。日志中不断弹出相同的警告。
使用ssh
命令登录时,一切似乎都很好。我仍然不知道这里发生了什么。有任何想法吗?
PS:我还在 Deployer 的 GIT 存储库中创建了一个问题:https ://github.com/deployphp/deployer/issues/1507
php - SSH 连接到我的共享主机后,如何告诉 Deployer 使用不同的 PHP 版本?
我正在尝试使用 Deployer 将 Laravel 应用程序部署到本地共享主机(使用 laravel 配方)~/Code/project_foo
。
关键是当我通过 连接到我的共享托管服务器时ssh
,默认php -v
版本是5.6.33
. 我确认我可以通过调用php70 -v
甚至整个路径来更改 php 版本/usr/local/bin/php70 whatever
。
关键是我不知道如何告诉部署者调用命令使用php70
which 是必需的,否则会composer install
失败。
因此,在终端中,我位于 Laravel 项目的根目录中,我只需调用:
dep deploy
我deploy.php
的很混乱而且很简单,但这只是概念的证明。我试图弄清楚一切,然后我会让它看起来更好。
我查看了laravel recipe 的源代码,发现有:
{{bin/php}}
但我不知道如何覆盖该值以匹配我的主机告诉我使用的值:
/usr/local/bin/php70
请给我任何提示,一旦连接到远程主机/服务器,如何强制脚本使用不同的 PHP 版本。
这是整个脚本:
php - 部署者 laravel 配方和刀片模板部署问题
我正在尝试使用带有 laravel 配方的 Deployer 设置部署
我deploy.php
的没有任何定制,只是:
require 'vendor/deployer/deployer/recipe/laravel.php'
和host
配置。
不幸的是,我有模板问题。每次我部署新版本时,它都会使用第一个版本的模板releases/1
(无论我部署多少版本)。
到目前为止我发现的没有任何帮助(我尝试了deploy.php
来自互联网的不同配置,但对我没有任何帮助。)
(artisan view:clear
和artisan cache:clear
配方有)
感谢您的任何建议!
laravel - 当我开始在 Laravel 中使用公共磁盘时,为什么 Deployer 说 storage:link 失败?
我使用 php 部署工具 (Deployer.org) 在 Laravel 5.5 上部署我的应用程序。
当我开始使用带有 symlynk 存储的公共磁盘 - > storage/app/public 时,我在部署时遇到错误:
我直接在主机 /releases/1/public 上看到我本地 MacOs 文件夹存储的损坏符号链接 - > /Users/user1/Code/project/storage/app/public
我从头开始重复安装 Laravel 项目和部署程序,但仍然出现错误。
laravel - 部署程序作曲家异常 - 如何调试?
我正在使用部署程序将我的 laravel 应用程序部署到 LEMP 堆栈。安装程序已成功将所有文件复制到发布文件夹中的服务器,但是 composer install 总是失败,错误代码为
我尝试以部署者用户身份在服务器上手动运行 composer install ,这没有任何问题。
生成的错误并没有给我太多关于它为什么失败的线索,所以我想知道是否有人可以指出我如何调试它的正确方向?