Kon*_*rus 30 build-process build maven jenkins gulp
我有一个项目:
如何以健全,强大和自动化的方式组织整个过程?
我现在拥有的是Gulp和Maven,Maven基本上拥有整个过程.
除了那个Maven之外,那种作品通常非常严格,我觉得我太过分了.使用antrun来调用Gulp是一个丑陋的伎俩.很难控制这些步骤之间的依赖关系并监控其结果.在同一阶段很难控制事物的顺序.故障安全验证似乎不处理Gulp生成的外部JUnit报告文件.我可以继续
我想知道我是否应该在我的构建服务器(Jenkins)中做更多,可能使用构建管道或参数化触发器 - 但我从来没有做过,我不确定这是否真的更好.
那么,你将如何实现它?
am8*_*80l 31
根据我的经验,前端maven插件远远不是这种类型的构建/部署过程的最佳插件.https://github.com/eirslett/frontend-maven-plugin.这就是我如何将它用于Grunt,但它也支持Gulp.
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>...</version>
<!-- optional -->
<configuration>
<workingDirectory>src/main/frontend</workingDirectory>
</configuration>
<execution>
<id>grunt build</id>
<goals>
<goal>grunt</goal>
</goals>
<!-- optional: the default phase is "generate-resources" -->
<phase>generate-resources</phase>
<configuration>
<!-- optional: if not specified, it will run Grunt's default
task (and you can remove this whole <configuration> section.) -->
<arguments>build</arguments>
</configuration>
</execution>
</plugin>
Run Code Online (Sandbox Code Playgroud)
有一点需要注意的是它将为正在运行的系统下载节点,因此如果您的构建服务器上有不同的操作系统,则需要确保这是您已检入版本控制的版本,您的本地版本(对我来说是OSX)必须在您的项目本地维护.
我会尝试建立一种穷人的管道。
让 grunt/gulp 首先完成其工作(处理资产、运行前端测试等 - 准备要包含在 WAR 中的工件)。当此步骤失败时,整个构建都会失败(资产生成或测试)。
使用步骤 1 中创建的资产运行常规 Maven 构建生成 WAR 文件。它将仅使用常规 WAR 文件运行自己的一组测试。不需要了解 grunt/gulp 的事情。
然后,您将有两个地方运行测试(前端,由 grunt/gulp 运行,后端由 maven 运行),但配置正确的报告器将让 CI 服务器检测到所有这些(我们使用 TeamCity,它处理得很好)。
稍微编写一下脚本,它应该比通过 antrun 多次调用 Node 更好。或者,您可以从 Maven 构建中运行第一步,但可能很难控制。
| 归档时间: |
|
| 查看次数: |
25323 次 |
| 最近记录: |