问题标签 [build-process]

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.

0 投票
4 回答
5396 浏览

windows - 如何使 Windows 软件在脚本中以不同用户身份运行?

我正在使用一个调用 Wise 的构建脚本来创建一些安装文件。问题是 Wise 许可证只允许它在一个特定的用户帐户下运行,这与我的构建脚本将运行的帐户不同。我知道 Windows 有runas命令,但这不适用于自动脚本,因为无法通过命令行输入密码。

0 投票
1 回答
911 浏览

build-process - 你如何设置一个新建项目

我正在设置一个 Greenfield (yeeea!) Web 应用程序,刚才我想知道其他人如何首先设置他们的项目以进行自动化/CI 构建?

我一般遵循这个:

  1. 创建具有基本布局(主干、分支、库等)的 SVN 存储库
  2. 创建基本解决方案结构(核心、用户界面、测试)
  3. 创建一个失败的基本测试
  4. 复制 NAnt 脚本,更新和调整,确保失败的测试在本地中断构建
  5. 犯罪
  6. 在 CI 服务器 (TeamCity) 上设置默认调试构建,确保构建失败
  7. 修复文本
  8. 提交 9 确保构建通过 CI
  9. 完毕....
0 投票
7 回答
6948 浏览

build-process - 什么是好的 CI 构建过程

什么构成了一个好的 CI 构建过程?

我们使用 CI,但是当您依赖于应该部署的多个服务并且其他应用程序也可能依赖于这些服务时,部署到生产甚至是一个现实的 CI 目标。

当一个好的 CI 构建过程自动化到 QA 并从那里手动时,它是否足够好?

0 投票
3 回答
4032 浏览

c# - 为什么在干净构建后会生成不同的 dll,而没有代码更改?

当我干净地构建我的 C# 项目时,生成的 dll 与之前构建的(我单独保存的)不同。没有进行代码更改,只是清理并重建。

Diff 显示 DLL 中的一些字节发生了变化——在开头附近很少,在结尾附近也很少,但我无法弄清楚这些代表什么。有没有人知道为什么会发生这种情况以及如何防止它?

这是使用 Visual Studio 2005 / WinForms。

更新:不使用自动版本递增,或签署程序集。如果它是某种时间戳,我如何防止 VS 写入它?

更新:查看 Ildasm/diff 后,似乎以下项目有所不同:

  • 文件开头的 PE 头中的两个字节。
  • <PrivateImplementationDetails>{ guid } 部分
  • 字符串表末尾附近的神秘部分(想知道为什么,我没有更改字符串)
  • 文件末尾的部分装配信息。

不知道如何消除这些,如果可能的话......

0 投票
6 回答
390 浏览

build-process - 在自动构建中生成文档

有没有办法在自动构建期间生成项目文档?

我想要一组带有用户手册的源文件(HTML?),并从中生成:

  • PDF文件
  • CHM 帮助
  • HTML 版本的帮助

三种格式的内容基本相同。

目前我正在使用 msbuild 和 CCNET,但如果需要,我可以更改它。

0 投票
8 回答
4757 浏览

java - 您使用哪个供应商的 JDK 构建是否重要?

如果我使用 WebSphere 6.1 (Java 1.5) 部署到服务器,我应该在我的构建盒上使用 IBM 的 JDK 吗?或者 Sun 的 JDK 会编译成相同的二进制文件吗?

如果我应该使用 IBM 的,我在哪里可以获得 Windows x64 版本?

0 投票
9 回答
1041 浏览

version-control - 如何对构建工具和库进行版本控制?

在源代码控制系统本身中包含编译器、库和其他工具有哪些建议?

过去,我遇到过这样的问题:尽管我们拥有所有源代码,但构建产品的旧版本是一种急于尝试获得 Visual Studio、InstallShield 和其他工具(包括正确的补丁版本)用于构建产品。在我的下一个项目中,我想通过将这些构建工具检查到源代码控制中来避免这种情况,然后使用它们进行构建。这也将在设置新的构建机器方面简化事情——1)安装我们的源代码控制工具,2)指向正确的分支,3)构建——就是这样。

我考虑过的选项包括:

  • 将安装 CD ISO 复制到源代码控制 - 虽然这提供了我们需要返回到旧版本时所需的备份,但这不是“实时”使用的好选择(每个构建都需要从安装步骤开始,这很容易将 1 小时的构建时间变成 3 小时)。
  • 将软件安装到源代码控制。ClearCase 将您的分支映射到驱动器号;我们可以在这个驱动器下安装软件。这不考虑安装工具的非文件部分,如注册表设置。
  • 在虚拟机中安装所有软件并设置构建过程,将虚拟机存储在源代码管理中,并弄清楚如何让虚拟机在启动时进行构建。虽然我们轻松地捕获了“构建机器”的状态,但我们得到了 VM 的开销,并且它无助于“为开发人员提供相同的工具问题”。

这似乎是配置管理的一个基本概念,但我一直无法找到任何资源来了解如何做到这一点。有什么建议?

0 投票
5 回答
6860 浏览

c++ - 如何设置共享 ccache

如何设置共享 ccache 而不会陷入权限问题?

我想运行具有最新更改的每晚或 CI 构建,并使用大型 ccache 存储库在整个研发过程中共享所有创建的二进制文件。

0 投票
1 回答
1320 浏览

eclipse - 在 Eclipse RCP 无头构建中使用 customBuildCallbacks.xml

我正在尝试将一些自定义构建步骤添加到 Eclipse RCP 应用程序的无头构建过程中。

我了解推荐的方法是在插件目录上提供一个 customBuildCallbacks.xml 文件,并在 build.properties 文件中添加指向它的链接。

但是,在构建过程中,会忽略此步骤。

是否有一些我可能缺少的设置步骤?

0 投票
1 回答
161 浏览

build-process - 如何最好地更新远程机器上正在运行的应用程序

所以我的构建机器吐出一个新的可执行文件,我想用新的构建更新我的测试机器。为了做到这一点,我需要以某种方式终止远程机器上的进程,复制新的二进制文件并开始运行。

由于某些奇怪的 IT 设置,出于某种原因 pskill 和 psexec 无法工作。

什么是这样做的好方法?