提问人:user1050544 提问时间:11/6/2018 更新时间:11/14/2018 访问量:125
PHP 在 PROD 部署后删除 Phing
PHP Remove Phing after PROD Deploy
问:
我们目前在从 jenkins 部署到不同环境时使用 phing。我们用它来做一些清理工作。我们希望在构建完成后从源/供应商文件夹中删除 phing。
phing 是否可以在最后的构建步骤中自行删除?
还是我应该只做一个rm -rf phing/?
答:
这个答案分为两部分:
问题的解决方案
您的 Phing 安装应该使用 composer 完成。do - 然后你可以用它来运行你的文件(而不是说使用全局安装)。composer require phing/phing
vendor/bin/phing
build.xml
然后,当你完成后,你要运行的最后一步可能是composer remove phing/phing
建议的工作流程
所以,像 Jenkins 这样的东西的想法是,你应该用它来在构建系统上完成所有的构建和处理。然后,它(Jenkins)是可以在远程系统上为您执行任何其他操作的工具。因此,与其在部署的服务器上进行phing,然后让它执行任务,不如告诉Jenkins远程执行这些任务。(这可能是通过每个步骤必须重新 ssh 到该服务器以执行新步骤来实现的)。由于这些步骤也是部署过程的一部分,因此如果其中任何一个失败,则生成将被视为失败,你将获得该见解。所以,话虽如此,我建议的解决方案在上面,但我建议改变其他一切。
评论
想象一下,您的项目需要许多依赖项,例如 和 。用于添加依赖项,但在添加开发权限时使用 option:ramsey/uuid
phing/phing
pds/skeleton
composer require
--dev
composer require ramsey/uuid
composer require --dev phing/phing
composer require --dev pds/skeleton
您的内容应如下:composer.json
{
"require": {
"ramsey/uuid": "^3.8"
},
"require-dev": {
"pds/skeleton": "^1.0",
"phing/phing": "^2.16"
}
}
若要安装所有依赖项,请使用以下命令:
composer install
现在,如果要删除开发依赖项类型:
composer install --no-dev
最后一个命令将仅安装生产依赖项,并立即从目录中删除开发依赖项。vendor
评论