一饮而尽,git,php&;生产建设

一饮而尽,git,php&;生产建设,php,git,gulp,Php,Git,Gulp,我有一个php应用程序。我使用了很多javascript、css、字体和其他东西 一切都是用git版本连接的,我用git更新我的服务器。我的服务器位于主分支上,我将所有内容推送到它以更新服务器上的代码 所以,现在我想升级我的代码并开始使用gulp来自动编译javascript、使用sass和生成字体 我不希望在我的服务器上安装gulp,以防出现问题,我的网站将无法运行。因此,我必须能够创建一个包含javascript、css和。。。但我不想总是提交这些文件,因为每次我们更改版本时,它都会在我的团

我有一个php应用程序。我使用了很多javascript、css、字体和其他东西

一切都是用git版本连接的,我用git更新我的服务器。我的服务器位于主分支上,我将所有内容推送到它以更新服务器上的代码

所以,现在我想升级我的代码并开始使用gulp来自动编译javascript、使用sass和生成字体

我不希望在我的服务器上安装gulp,以防出现问题,我的网站将无法运行。因此,我必须能够创建一个包含javascript、css和。。。但我不想总是提交这些文件,因为每次我们更改版本时,它都会在我的团队中引起冲突

创建一个包含所有编译文件的构建版本并且不会在git中引起任何冲突的最佳工作流是什么

谢谢

这是我的设置:

注意到任务部署了吗?好的,使用参数--release进行部署,释放到一个不同的位置,这个位置只是简单的部署

它应该像部署到不同位置一样简单。在您的情况下,您可以从不同的托管文件夹访问两个不同的web应用程序。一个有效,一个正在开发

对你的声明:

我不希望在我的服务器上安装gulp,以防出现问题 错,

你根本不需要在你的服务器上狼吞虎咽。我在build Teamcity服务器上吃了一大口,但仅此而已


不管怎么说,这对我来说是有效的。我希望这会有所帮助。

我猜在正常的构建中,您仍然编译js和css,但是您应该忽略编译后的文件(使用gitignore文件?)。但在部署时,如何覆盖忽略文件?还是将所有文件复制到另一个具有不同gitignore文件的文件夹中?顺便说一句,我使用的是TFS,而不是Git(不幸的是)。我总是忽略“编译文件”。它们只是构建过程中的工件,就像EXE和DLL一样。现在,我的部署将非编译、非精简、非优化、非所有内容的文件复制到我的测试服务器,在那里我们可以追踪bug等等。另一方面,我的部署版本编译、优化、缩小、连接、修改。。。生成单个html文件、单个css文件和单个js文件的所有文件都会进入QA服务器。如果您没有构建服务器,您应该考虑拥有一个构建服务器。它可以为您自动化如此多的步骤,并将为您的开发过程增加一致性和可靠性。它还可以维护工件的一个版本。这意味着它将跟踪您编译的文件,这样您就知道部署到QA或生产中的哪些工件是源代码管理中的哪个变更集的结果,构建服务器的主要功能到底是什么?它监视源代码管理的提交/签入。然后,它从源代码管理中获取最新和最好的代码,并构建代码。这意味着我前面描述的所有操作以及编译其他源代码,如C#code。然后,它在我们的C代码上运行所有单元测试,并在我们的字体端代码(如javascript)上运行所有单元测试。它运行lint或lint机制,强制执行编码标准以保证代码质量。继续的。。。