Javascript 如何停止编译错误的推送?

Javascript 如何停止编译错误的推送?,javascript,amazon-web-services,server,devops,githooks,Javascript,Amazon Web Services,Server,Devops,Githooks,我最近将一个代码错误(Javascript使用const而不是let)推送到服务器,管理员说它阻止了其他开发人员推送他们的代码?在其他网站/员工中,我肯定我以前做过一次,但它只是在日志文件中报告“构建失败”,更新被拒绝 在这种情况下,服务器没有更新(因为它一直没有更新),但是其他开发人员随后的推送没有更新 服务器在我推送之前没有更新的事实(正如其他开发人员报告的那样)表明,我的语法错误并没有导致服务器没有使用推送代码更新的问题 救命啊!在我的“语法错误”推送之前整整一周,服务器上出现了一个问题,

我最近将一个代码错误(Javascript使用const而不是let)推送到服务器,管理员说它阻止了其他开发人员推送他们的代码?在其他网站/员工中,我肯定我以前做过一次,但它只是在日志文件中报告“构建失败”,更新被拒绝

在这种情况下,服务器没有更新(因为它一直没有更新),但是其他开发人员随后的推送没有更新

服务器在我推送之前没有更新的事实(正如其他开发人员报告的那样)表明,我的语法错误并没有导致服务器没有使用推送代码更新的问题

救命啊!在我的“语法错误”推送之前整整一周,服务器上出现了一个问题,他们都怪我

其他开发人员和AWS DevOps的任何回复都将不胜感激


服务器钩子代码不是很常见,这样推送的代码会被拒绝,不会对服务器应用程序造成损坏吗?

githooks是一个可选的解决方案。 另一个选择是为您的项目应用CI/CD,任何代码构建、es lint检查、单元测试的失败都会为您触发警报电子邮件。
您可以与团队讨论这两个选项。

githooks是可选的解决方案。 另一个选择是为您的项目应用CI/CD,任何代码构建、es lint检查、单元测试的失败都会为您触发警报电子邮件。 您可以就这两个选项与团队进行讨论。

这是DevOps(或负责DevOps的人)没有强制使用分支和请求的错误

您不应该直接对生产或开发分支进行更改。每个新的特性或错误修复都应该在一个新的分支中完成,该分支与开发相分离,这样,如果发生类似的情况,更改可以被拒绝,而不会影响代码的当前迭代

当您觉得自己已经完成了开发工作时,您可以创建一个pull请求,该请求可以由您的高级开发人员审核,甚至是团队中的随机开发人员审核,然后在将其合并到开发中之前获得批准

更新:如果您正在使用Git,我建议您也在工作站上安装Git Flow。它标准化了bug修复和功能的工作方式,简化了分支管理。

这是DevOps(或负责DevOps的人)没有强制使用分支和请求的错误

您不应该直接对生产或开发分支进行更改。每个新的特性或错误修复都应该在一个新的分支中完成,该分支与开发相分离,这样,如果发生类似的情况,更改可以被拒绝,而不会影响代码的当前迭代

当您觉得自己已经完成了开发工作时,您可以创建一个pull请求,该请求可以由您的高级开发人员审核,甚至是团队中的随机开发人员审核,然后在将其合并到开发中之前获得批准


更新:如果您正在使用Git,我建议您也在工作站上安装Git Flow。它标准化了错误修复和功能的工作方式,简化了分支管理。

是。您的CI/CD管道应该开始尝试构建您签入的代码,然后对其执行单元测试和集成测试,只有在成功后才部署它。但无论如何,您不应该将代码签入生产分支。所有的代码都应该在一个新的分支中编写,这样当类似的事情发生时,就不会影响生产甚至UAT。谢谢船长。服务器没有对推送代码作出响应,这些代码已通过任何开发人员近2周的CI/CD管道上的所有检查。我的推送可以,但我用一条日志语句匆忙地进行了第二次推送,以查看暂存服务器是否正在运行我的代码。感谢您的“您的CI/CD管道应该开始尝试构建代码”代码。是的。您的CI/CD管道应该开始尝试构建您签入的代码,然后对其执行单元测试和集成测试,只有在成功后才部署它。但无论如何,您不应该将代码签入生产分支。所有的代码都应该在一个新的分支中编写,这样当类似的事情发生时,就不会影响生产甚至UAT。谢谢船长。服务器没有对推送代码作出响应,这些代码已通过任何开发人员近2周的CI/CD管道上的所有检查。我的推送还可以,但我用一条日志语句匆忙地进行了第二次推送,以查看暂存服务器是否正在运行我的代码。不过,感谢您的“您的CI/CD管道应该开始尝试构建代码”代码。我应该补充一点,“拉送请求”甚至不需要在Git中完成。另一个开发人员可以简单地将您的分支“拉”到他们的本地机器上,并尝试运行它并测试您正在使用的功能。如果它做到了它的本意,他们可以竖起大拇指,someon可以将更改合并到dev分支中,并从那里合并到生产中。另一个开发人员可以简单地将您的分支“拉”到他们的本地机器上,并尝试运行它并测试您正在使用的功能。如果它做到了它的本意,他们可以竖起大拇指,someon可以将更改合并到dev分支中,并从那里合并到生产中。