我们目前正在使用phing从jenkins部署到我们的不同环境。我们用它来做一些清理。构建完成后,我们想从源/供应商文件夹中删除phing。
网络钓鱼能否在最后的构建步骤中自行删除?
还是我应该做rm -rf phing /?
答案 0 :(得分:1)
此答案分为两部分:
问题解决方案
您的Phing安装应使用composer完成。执行composer require phing/phing
-然后您可以使用vendor/bin/phing
运行您的build.xml
文件(而不是使用全局安装)。
然后,完成后,您要运行的最后一步可能是composer remove phing/phing
建议的工作流程
因此,类似Jenkins的想法是您应该使用它在构建系统上进行所有构建和处理。然后,它(Jenkins)是可以为您在远程系统上执行其他任何操作的工具。因此,您可以让Jenkins远程执行这些任务,而不是先在已部署的服务器上进行网络钓鱼,然后再执行任务。 (这可以通过每个步骤都必须重新放入该服务器以执行新步骤来完成)。由于这些步骤也是部署过程的一部分,因此如果其中任何一个失败,构建都将被视为失败,您将获得洞察力。因此,话虽如此,我建议的解决方案已在上方,但我建议将其他所有内容都进行更改。
答案 1 :(得分:0)
想象一下,您的项目需要许多依赖项,例如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
目录中删除开发依赖项。