我们定义了一个平台环境,其中包括特定的 Java、Ant 和 Subversion 版本。这个想法是,拥有这个平台的人可以签出我们存储库中的任何项目,运行构建命令,并且无需下载任何软件或进行任何特定设置即可构建该项目以使构建工作。
这主要是为了我个人方便(毕竟我定义了这个平台)。我运行 Jenkins 服务器,并希望能够构建任何项目而无需经历很多 conniptions。Jenkins 应该能够在没有任何特定说明或环境设置的情况下进行检查和构建。
如果需要特殊产品,我通常会要求将该产品包含在项目的目录结构中。例如,如果一个项目依赖于 Ant-Contrib 来构建,则antcontrib.jar
应该在项目中,并且<taskdef>
应该指向项目中的那个 jar。
我们有一个 Grails 项目,我希望有某种方法可以在该项目中包含一个最小的 Grails 安装,以便进行构建。我只需要运行以下命令:
grails clean
grails war
我知道出于开发原因,您可能需要完整的 Grails 安装,但我只对构建本身感兴趣。
我想在项目中安装 Grails,但我下载了 Grails,在 grails/dist 文件夹中,有 33 个Grails jar。在该lib
文件夹下,有 300 多个罐子。在该src
文件夹下,还有另外 33 个Grails jar。这有点太多了,不能作为结帐的一部分包含在项目中,这样我就可以进行构建了。
是否有一个紧凑的子集可用于运行构建?
如果没有,我将不得不在我们的构建服务器上安装 Grails。这不是什么大问题,但这确实意味着任何想要构建这个项目的人都必须首先安装 Grails。另外,我必须记录该项目需要特殊安装以及它是如何完成的以及所有其他依赖项。