我正在尝试使用 Ant 和 MSBuild 自动化我的项目(java 和 .net)的构建过程。我已经阅读了它们并且知道如何在 Ant 和 MSBuild 中编写构建脚本。但我想知道,是否有任何编写构建脚本的指南或最佳实践?这是我发现的两个,但我想听听其他开发人员的更多信息。
源代码管理和在工作文件夹中可用,而
检查来源。不要编写构建脚本
依赖于未保留在源代码管理中的项目。
它自己的构建脚本,项目的构建文件应该只是调用
子系统的构建脚本。此外,这些文件应该导入一个包含编译、测试、打包等目标的通用构建文件。
我见过this post同样,但它在编写任务的方式上有详细说明。如上所述,我需要更多高级指南。
以下是我从答案中收集的指南:
clean
目标。 compile
, package
和 test
目标。 他们都应该有相同的构建脚本。但是,不同
参数应该传递给这些脚本。
打包、部署和安装步骤。但以发布为基础
行包括进一步的步骤,例如标记产品和
生成变更日志/发行说明。
持续集成服务器(Bamboo、TeamCity 等)
复制构建结果的网络地址),不要将其硬编码到
你的构建脚本。相反,使用构建参数来控制它更多
容易地。
最佳答案
只是对你上面提到的第二个要点发表评论:
If a project contains a set of sub-systems and each sub-system has its own build scripts, the build file of the project should just call the build scripts of sub-systems.
每个子系统都应该有自己的构建文件,但该文件应该导入一个通用的构建文件。通用构建文件将包含编译、测试、包等目标。
http://ant.apache.org/manual/Tasks/import.html
子系统构建文件非常简单,不包含重复,只包含特定于该子系统的信息(例如 compile.classpath)。
关于ant - 在 Ant 或 MSBuild 中编写构建脚本的任何最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7329590/