开发CI构建实践



我和一位同事发生了争执。我们使用maven来构建我们的软件,我们都有相当多的经验。然而,我以前从未见过用配置文件默认禁用maven测试。如果开发人员希望跳过测试,则可以使用-DskipTests选项。他的论点是:你不希望每个CI管道都重新运行之前的所有步骤。如果是这样的话,那么不要使用:

mvn clean install

然后使用

- mvn clean 
- mvn compile test-compile
- mvn test
- mvn verify
- mvn package

然而,这也是不可接受的。他说,在他工作过的每一家公司,这都是标准。我想不出我在OSS中看到的任何一个使用maven的项目,默认情况下使用禁用mavens测试功能的约定。

我困惑了吗?整个卖点是构建是标准的,它需要直接的意图来避免运行测试。

默认情况下不会跳过测试。

并且您不会让不同的CI步骤重复以前的步骤。因此,不要试图拆分Maven构建,先运行mvn test,然后运行mvn verify,再运行mvn package,因为您要做三次大量工作。

只要使用mvn clean deploy就可以了。

最新更新