问题标签 [build-automation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C# 有自动代码格式化程序吗?
在我的工作中,我现在主要处理 C# 代码,不时会使用一些 java。我绝对喜欢 Eclipse(而且我知道每天使用它的人更喜欢它)是一个复杂的代码格式化程序,能够将代码塑造成人们可以想象的任何编码标准。C#有这样的工具吗?Visual Studio 代码格式(Crtl+K、Crtl+D)低于标准,StyleCop 只检查源而不修复它。
我梦寐以求的工具可以从控制台运行(以便轻松包含在自动构建或预提交挂钩中并在 Linux + Mono 上执行),具有易于存储在项目存储库中的基于文本文件的配置和带有预览的图形规则编辑器 - 只需就像 Eclipse Code Formatter 一样。
testing - 您在构建过程中包含哪些类型的测试?
我使用 TFS 2008。我们每晚运行单元测试作为持续集成构建和集成测试的一部分。
您在构建过程中自动化并包含哪些其他类型的测试?你使用什么技术来做到这一点?
我正在考虑冒烟测试、性能测试、负载测试,但不知道将这些与 Team Build 集成起来有多现实。
svn - 自动化构建
我目前通过AhnkSVN和 Visual Studio使用subversion进行版本控制。我最近开始使用Tree Surgeon来设置我的项目。它使用NAnt自动创建构建脚本。我希望能够在 SVN 中自动构建定期项目。我喜欢在每次签入时进行构建的想法,但夜间构建也可以。我会提供更多信息或更多我的想法,但我想我会保持开放状态,看看 SO 社区要说什么。
php - 你用phing吗?
有没有人使用Phing来部署 PHP 应用程序,如果是,你如何使用它?我们目前有一个手写的“设置”脚本,每当我们部署项目的新实例时都会运行该脚本。我们只需从 SVN 签出并运行它。它设置一些基本的配置变量,安装或重新加载数据库,并为站点实例生成一个 v-host。
我经常认为也许我们应该使用Phing。我没有太多地使用 ant,所以除了像我们的安装脚本那样编写将文件从一个地方复制到另一个地方的脚本之外,我并没有真正了解Phing应该做什么。您可以举例说明哪些更高级的用途,以帮助我理解为什么我们愿意或不愿意将Phing集成到我们的流程中?
tfs - 向团队提供 TFS 构建状态通知的最佳方式是什么?
我喜欢 TFS 的警报机制在构建中断时发送的状态电子邮件。但是,我想向整个团队发送这样的电子邮件,而不是依赖团队订阅警报...
在覆盖“OnBuildBreak”并使用 MSBuildCommunityTasks EMail 任务时,我很难自己生成足够详细的消息。
有没有办法强制将 TFS 警报发送到电子邮件列表?您能推荐一种发送此类状态通知的方法吗?
build-process - 将拼写检查器与构建过程结合的最佳方法
我尝试将我编写的任何应用程序中使用的所有字符串(和其他常量)外部化,原因有很多,这可能是大多数 stack-overflowers 的第二天性,但我想要的一件事是能够自动对任何应用程序进行拼写检查用户可见的字符串。这带来了几个问题:
- 并非所有字符串都是用户可见的,将它们分开并保持这种分离是很重要的(但这是可能的)
- 我使用的大多数(如果不是全部)字符串外部化方法都涉及无法通过拼写检查的重要文本,例如 aspell/ispell(例如:theStrName="some string." 和注释)
- 许多拼写检查器(同样是 aspell/ispell)不能处理很多开箱即用的单词(通常是技术术语、专有名词,或者只是“新”术语,如元数据)。
你如何将这样的东西整合到你的构建过程/测试套件中?每次更改应用程序中的所有字符串时,让某人手动拼写检查这些字符串是不可行的——而且它们不可能在第一次时就全部正确拼写。
c++ - 带有.Net 2.0 C++ 项目的构建框需要VS.Net 2005?
我们有一个使用 CruiseControl.Net 的构建框,并且一直在使用 msbuild 构建 VB.Net 和 C# 项目。就.Net而言,我在盒子上安装的只是.Net 2.0 SDK(我试图让盒子尽可能干净)。我们现在正试图在这个盒子上构建一个 C++ 应用程序。我们遇到的问题是SDK 没有安装头文件(例如windows.h)。
我必须安装 VS 2005 才能让它工作吗?
编辑:
正如几个人回答的那样,我实际上已经下载了 3.5 Platform SDK,但是在这个盒子上构建的应用程序必须在没有安装 3.5 的盒子上运行。通过在我的 2.0 构建盒上安装 3.5 SDK,我是否会损害我的构建盒?
编辑:
我打算不回答这个问题,但我想我会补充一点,我继续在盒子上安装了 Visual Studio,一切都很好。我讨厌这样做,但不想冒在我的 2.0 构建盒上安装 3.5 SDK 的风险。我仍然希望听到更好的解决方案。
tfs - 尽管启用了 CI,为什么我的 2008 Team Build 不会触发开发人员签入
我有一个 Team Foundation Server 2008 安装和一台带有 Team Build 服务的单独机器。
我可以创建团队构建并在 Visual Studio 中手动触发它们或通过命令行(它们成功完成)。但是,尽管在构建定义上勾选了构建每个签入的选项,但签入源树不会导致触发构建。更新:需要明确的是,我有一个启用 CI 选项的完整构建定义。
源代码树的配置非常简单,代码位于Main文件夹或Branch\branchName文件夹下。每个代码分支(包括主代码)都有一个与其中包含的解决方案文件相关的标准 Team Build 定义。唯一与默认设置略有不同的是构建服务器工作文件夹;即对于 main,这是Server:"$\main" Local:"c:\build\main"由于路径长度。
我唯一能猜到的(可能是红鲱鱼)是开发人员工作区可能有些奇怪。目前,每个开发人员都将 Server:"$\" 映射到 local:"c:\tfs\" 以便所有分支只有一个工作区。这主要是为了避免一些开发人员之前遇到的重新映射问题。但我看不出这会如何影响 CI。
更新:我间接找到了答案;请阅读下文
build-automation - 如何让 Cruisecontrol 一次只构建一个项目
我刚刚在我们的构建服务器上设置了 Cruise control.net,但我无法找到一个设置来告诉它一次只构建一个项目。有任何想法吗?
build-automation - 南特并维护目录结构
如何使用 nant <copy> 命令并维护目录结构?这就是我正在做的,但它将所有文件复制到一个目录中。