build - 适用于 Visual Studio MSBuild 的现代构建工具

标签 build continuous-integration build-automation

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

7年前关闭。




Improve this question




我是构建自动化和持续集成的新手,但对该主题进行了广泛的研究。

首先是问题:假设我有一个非托管的 Visual C++ .sln 文件,并且我可以使用 MsBuild 构建它,我应该选择哪种现代构建工具来轻松执行预/后构建步骤?

我不想要像 Ant、Nant、make 这样的“旧”构建工具,以及它的 XML 困惑。我想要一些可以让我以人类可读的方式自由表达我想做的事情的东西。根据我的研究,Waf、Scons 和 Rake 似乎符合要求。

我的环境背景:
我的源代码管理是 Subversion。
我的单元测试框架是 GoogleTest,它生成与 JUnit 兼容的 XML 文件。
我选择 JIRA 作为我的跟踪工具。
我为我的 CI 服务器选择了 TeamCity。
我使用 Visual Build 来构建我的 .sln 文件。

我希望能够编写一个简单的构建脚本(可从我的 CI 服务器调用),它将:

1) 创建 CI 服务器工作区目录。
2)从SVN check out 代码。 (我的存储库设置为使用 svn:externals 从我的其他存储库中提取依赖项)
3) 运行 Visual Build 构建文件以构建 .sln 中的所有项目/平台组合。
4) 运行静态代码分析/动态代码分析工具
5) 为 CI 服务器收集 MsBuild 的结果(无论是编译失败、静态/动态代码分析警告还是单元测试失败等)
6) CI 服务器记录此内容并将其链接到 JIRA。

最佳答案

除了编译代码,Visual Build 还可以用于提取源代码并运行您的分析工具(并且有一个漂亮的 GUI 可以让您隐藏任何“xml 困惑”。)您的 CI 服务器应该有一种将外部日志集成到构建中的方法。

关于build - 适用于 Visual Studio MSBuild 的现代构建工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/757836/

相关文章:

continuous-integration - 如果您可以测试 pre-commit 和 pre-push git hooks,为什么还要测试持续集成?

python - 使用单个 buildslave 为多个 buildmaster 提供服务

build - Docker build 没有网络,但是 docker run 有

c++ - msvc + GNU 制作

GitHub 操作 : share common actions between jobs

java - 远程运行 Java 项目

javascript - 用于版本控制的 JS 编译器/包管理器

macos - xcode4:链接器错误:找不到选项的目录

build - webpack 缺少路径@multi main 时出错

ios - 使用 Jenkins 构建 iOS 应用程序