我已经使用 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/