build-process - 改进您的构建过程

或者,实际上在没有太多合适的开始时建立一个构建过程。

目前,这几乎就是我的团队所面临的情况。我们主要进行网络应用程序开发(但目前没有桌面开发)。即使使用我们普通的应用程序,软件部署也很丑陋且笨拙,而且在我加入这个团队(和公司)的两年里,我们遇到了太多的问题。现在是时候做点什么了,结果是我们将能够用一 block 石头杀死两只乔尔测试鸟(每日构建和一步构建,两者都不以任何形式存在)。

我在这里寻求的是对我需要做或考虑的事情的一些一般性见解,来自那些从事软件开发的人比我从事软件开发的时间更长,而且头脑也更聪明。我相信目前在测试版中发帖的大多数人都会这样做。

相关工具: 视觉构建 Source Safe 6.0(我知道,但我目前对是否使用 Source Safe 无能为力。这可能是我的下一场战斗。)

暂时,我有一个 Visual Build 项目可以做到这一点:

  1. 获取源并放置在本地目录中,包括项目所需的必要 DLL。
  2. 获取配置文件并根据需要重命名(我们将它们存储在不属于实际应用程序的特殊子目录中,并根据用途对其进行命名)。
  3. 使用 Visual Studio 构建
  4. 使用命令行预编译,复制到“构建”目录中
  5. 复制到目的地。
  6. 获取任何必要的附加资源 - 主要是与项目相关的文档、图像和报告(并从第 5 步放入目录)。有很多这样的东西,我以前不想包括它。但是,我只会复制更改的项目,所以可能无关紧要。我不确定我是否真的想在前面的步骤中包含这些内容。

对于所有这些,我仍然需要从 Visual Build 中退出一些日志,但我还没有到需要这样做的地步。

有人有什么建议或建议吗?我会注意,我们目前没有使用部署项目。我认为它会删除此构建中的一些必要步骤(如 web.config 交换)。

最佳答案

在承担一个从未有过自动化构建过程的项目时,分步进行会更容易。不要试图一次吞下太多,否则会感到难以承受。

  1. 首先使用自动构建程序(即 nant/msbuild)一步编译您的代码。我不会讨论哪个更好。找一个让你感觉舒服的并使用它。让构建脚本与源代码管理中的项目一起使用。
  2. 弄清楚您希望如何触发自动构建。无论是将其连接到 CruiseControl 还是使用计划任务运行夜间构建任务。 CruiseControl 或 TeamCity 可能是最好的选择,因为它们包含许多工具,您可以使用它们来简化此步骤。 CruiseControl 是免费的,TeamCity 在某种程度上是免费的,您可能需要根据项目的规模付费。
  3. 好的,到此为止,您会很熟悉这些工具。现在,您可以根据要执行的测试、部署等任务添加更多任务...

希望这会有所帮助。

https://stackoverflow.com/questions/14893/

相关文章:

iphone - 为什么 Xcode 会在钥匙串(keychain)中自动安装(重复和过期的)证书?

build - Xcode 4 术语 "Build for testing/Build for ru

build - 您使用什么工具来构建 Erlang 程序?

python - Matplotlib 构建问题 : Error C1083: Cannot ope

android - 使用没有运行的 Eclipse 重建 .apk

python - 问题构建 cx_Oracle - libclntsh.so.11.1 => 未找到

go - 如何使用 Golang 包以外的名称构建可执行文件

xcode - 无法将 testflight 与从 XCode 7.0.1 上传的构建一起使用

c++ - 未找到/usr/local/lib 中的库

visual-studio-2010 - 无法使用 devenv 编译 vdproj - 'targ