PHP 在 PROD 部署后删除 Phing

PHP Remove Phing after PROD Deploy

提问人:user1050544 提问时间:11/6/2018 更新时间:11/14/2018 访问量:125

问:

我们目前在从 jenkins 部署到不同环境时使用 phing。我们用它来做一些清理工作。我们希望在构建完成后从源/供应商文件夹中删除 phing。

phing 是否可以在最后的构建步骤中自行删除?

还是我应该只做一个rm -rf phing/?

部署 PHING

评论


答:

1赞 Aaron Saray 11/6/2018 #1

这个答案分为两部分:

问题的解决方案

您的 Phing 安装应该使用 composer 完成。do - 然后你可以用它来运行你的文件(而不是说使用全局安装)。composer require phing/phingvendor/bin/phingbuild.xml

然后,当你完成后,你要运行的最后一步可能是composer remove phing/phing

建议的工作流程

所以,像 Jenkins 这样的东西的想法是,你应该用它来在构建系统上完成所有的构建和处理。然后,它(Jenkins)是可以在远程系统上为您执行任何其他操作的工具。因此,与其在部署的服务器上进行phing,然后让它执行任务,不如告诉Jenkins远程执行这些任务。(这可能是通过每个步骤必须重新 ssh 到该服务器以执行新步骤来实现的)。由于这些步骤也是部署过程的一部分,因此如果其中任何一个失败,则生成将被视为失败,你将获得该见解。所以,话虽如此,我建议的解决方案在上面,但我建议改变其他一切。

评论

0赞 user1050544 11/6/2018
这就是当前的工作流程。Jenkins 正在从 composer 安装运行 phing。composer remove phing/phing 应该可以很好地工作
0赞 Aaron Saray 11/6/2018
很酷 - 如果它有效,请为解决方案投赞成票。谢谢!
0赞 jawira 11/14/2018 #2

想象一下,您的项目需要许多依赖项,例如 和 。用于添加依赖项,但在添加开发权限时使用 option:ramsey/uuidphing/phingpds/skeletoncomposer 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