问题标签 [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.
symfony - 如何在使用部署程序运行部署时检查是否存在迁移
我正在使用 Deployer 将我的 Symfony 应用程序部署到生产环境。一切正常,但是,我的 deploy.php 文件包含用于数据库迁移的命令:
但是,如果数据库没有更改,则此步骤会导致错误。
错误信息:
我正在寻找一些可以检查任何数据库更改并且仅在有更改时有条件地运行迁移任务的代码。
composer-php - Symfony 缓存预热给出注释异常
我正在使用 deployer.org 工具,带有默认的 symfony3 配方。prod 环境中的缓存预热任务会出现以下错误:
[RuntimeException] [Doctrine\Common\Annotations\AnnotationException] [Semantical Error] Sonata\ClassificationBundle\Controller\Api\CategoryController::getCategoriesAction() 方法中的注释“@Nelmio\ApiDocBundle\Annotation\ApiDoc”不存在,或者可能不会自动加载。
功能:
vendor/sonata-project/classification-bundle/Controller/Api/CategoryController.php
使用 Nelmio\ApiDocBundle\Annotation\ApiDoc;
我的 composer.json
我的应用内核:
php-deployer - 如何使用 php 部署器?
我想用Deployer部署一个 PHP 项目。
我有这个代码:
我想在 preview.domain.com 上部署并运行验收测试。
之后我想阅读report.xml。
当一切都清楚后,我想链接到当前文件夹。
我怎样才能做到这一点?
php - 在 Windows 10 中使用部署程序,“C”命名空间中没有定义命令
在我的用户目录中设置了部署程序,因此我从该位置通过此 cmd 访问部署程序:
我在项目目录中有一个 deploy.php 配置文件。当我运行以下 cmd 时,错误如下:
这是我第一次使用 Deployer。我做错了什么?
php - 部署者 - 致命错误:调用未定义的函数 server()
部署程序版本 4.1.0
运行时报dep deploy test
如下错误:
PHP 致命错误:调用未定义的函数 server()
server ftn 在配置文件中定义如下:
根据Deployer 站点,这几乎是标准。有没有其他人遇到过这个问题?如果是这样,您是如何解决的?
laravel - Deployer v4.2.1 致命错误“未定义的功能”与官方认可的 3rd 方配方开箱即用
在基本安装 PHP 部署程序 v4.2.1 后,我发现它与官方认可的开箱即用的 3rd 方配方不起作用(见下文)。我对 Deployer 相当陌生。这就是我所做的。
我安装了 PHP 部署程序 v4.2.1:
当然,我跑去dep init
设置一个基本deploy.php
文件。
在我deploy.php
的顶部,我添加了以下内容:
然后我设置了我的 git 存储库、服务器信息等。我的最终deploy
任务运行该local:prepare
命令,这就是它因一个奇怪的错误而窒息的地方:
显然存在一些命名空间问题。
不知何故,我发现如果我制作 3rd 方配方文件的本地副本(外部供应商目录),然后修改它们,以便desc(...)
后续调用task(...)
像task(...)->desc(...)
. 这行得通,但现在我遇到了其他问题,我觉得我走错了路。对于基本上是全新安装的情况,我觉得这是一个不可接受的解决方法。laravel.php
与 Deployer 捆绑在一起的配方desc(...)
全部单独调用,而不是在 之后task(...)->desc(...)
,所以在我看来,第 3 方配方应该能够处理它,但它们会引发错误。(即使namespace Deployer;
在顶部声明,或者可能是因为它。)
还有其他人遇到这个问题吗?是否有一些简单的东西我忘了添加,deploy.php
所以我不必修改供应商文件?
php - 部署者文档不正确。如何正确重新配置现有任务?
此页面上的 PHP Deployer 文档是错误的。
在标有“重新配置”的部分中,它说:
您可以通过按名称检索任务来重新配置任务,例如由第 3 部分配方提供的任务:
这根本不适用于当前版本。我收到一个错误:
查看供应商的 src 文件,该task()
函数确实需要两个参数。仅传递一个参数时,它不会充当吸气剂。
是否有任何(现有)方法来获取任务并按照文档中的预期重新配置它?什么是正确的版本?我尝试使用get
而不是task
:
但这也不起作用。
php - 使用 ssh 区分 PHP 版本
我正在尝试在共享服务器上设置部署器 php。并且无法在服务器上远程运行 php。
服务器正在为正常的 http 请求运行 php 7.0.6。如果我通过终端 SSH 并php -v
在远程服务器上运行,我会得到:
这似乎很好,但如果我从本地机器运行远程命令:
显然远程命令没有使用正确的 php 版本。我发现版本设置在.bash_porfile
:
但我不知道如何让 ssh 远程命令尊重.bash_profile
. 有没有办法让远程命令使用修改后的 PATH 而不用强制它source ~/.bash_profile
php - 部署者在文件编辑上部署
我设置了 php 部署程序,它将在我运行时将所有文件部署到登台服务器dep deploy:staging
。现在我想知道是否有一种方法可以在文件发生更改时运行该部署程序命令。
我曾尝试使用 Facebook 的守望者,我设法观察了文件更改,但我无法运行 deployer 命令。这就是我尝试的方式。
我不确定确切的原因,但我认为dep
命令无法使用 watchman 运行,因为我尝试运行诸如“cd”、“ls”之类的批处理命令,并且它似乎在日志文件中显示了结果。
所以我想知道是否有其他方法可以查看文件更改并自动运行部署命令?我想要做的一个例子就是 Shopify 如何与部署一起工作。
php - php 仅部署构建文件夹
我目前正在使用带有grunt-ssh-deploy的 Grunt 在通过存档完成构建后部署 build/ 文件夹,如下所示:
这是从本地路径部署文件夹,我可以使用部署程序执行以下操作:
但我想从 repo 部署一个特定的发布版本并使用 php-deployer 但我找不到如何只部署构建文件夹。
是否可以使用部署程序从 git 存储库部署特定文件夹?