java - Jenkins 作业管理约定

标签 java ant jenkins continuous-integration continuous-deployment

我已经使用 Jenkins 一段时间了,它运行良好。现在我有一些关于我应该使用的约定的问题。目前:

  • 我正在 workspace/${env.BUILD_NUMBER}/code 中解压源代码,并在 workspace/${env.BUILD_NUMBER}/build 中构建它们

  • 我正在 workspace/${env.BUILD_NUMBER}/bvt 中解压构建验证测试 (BVT)

  • 我将 JUnit 测试结果保存在 workspace/${env.BUILD_NUMBER}/test-results 中,Jenkins 正在从此目录中读取并发布 JUnit 测试结果报告。

或者我应该使用 jobs 目录,即

jobs/${env.BUILD_NUMBER}/code
jobs/${env.BUILD_NUMBER}/build
jobs/${env.BUILD_NUMBER}/bvt
jobs/${env.BUILD_NUMBER}/test-results

或者我应该在

内完成所有这些
/var/lib/jenkins/jobs/<JOB_NAME>/builds/<BUILD_NUMBER>

任何人都可以建议什么是标准做法和惯例吗?

最佳答案

唯一真正的约定是不要使用任何明确的内容,例如 workspace/${env.BUILD_NUMBER}/code ,当然不是jobs/${env.BUILD_NUMBER}/code 。 Jenkins 在当前构建的工作区中运行所有命令,因此您应该在(几乎)所有情况下使用当前工作目录。

除此之外,请使用您的构建环境的首选约定。如果您的工具没有,请考虑采用知名工具的约定。 Maven可能拥有最完整的一组约定,或者至少是该约定的最佳文档。

关于java - Jenkins 作业管理约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21412501/

相关文章:

java - 将 16 位 pcm 转换为 8 位

gwt - 如何使用 Ant 调试 GWT

Eclipse v4.7.1a : ant build broken: Launch configuration <build. 文件>引用不存在的项目<容器项目>

jenkins - 使用 Jenkins 声明性管道从其他作业获取工件

amazon-web-services - 在 Jenkinsfile 中对 ECR 进行身份验证,以便我可以提取图像来运行构建?

jenkins - 通过 url 传递选择参数以远程构建参数化作业

java - Json请求正文到带有spring-boot的java对象

Java EE、Hibernate、MySql UTF-8 查询不起作用

java - 序列化接口(interface)

ant - 如何使用 Ant 任务让 javadoc 链接到 Java API?