改善你的构建过程 [英] Improving Your Build Process

查看:123
本文介绍了改善你的构建过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

或者,实际上是建立一个构建过程时,没有太多之一的地方开始。

Or, actually establishing a build process when there isn't much of one in place to begin with.

目前,这是pretty很多我的团队面临的形势。我们做网络的应用开发,主要(但此时没有桌面开发)。软件部署是丑陋和笨拙甚至与我们的微薄的应用程序,我们已经有太多的问题,这两年我一直在这支球队(和公司)的一部分出现。这是过去的时间做一些事,而结果是,我们将能够杀死二乔尔测试一箭双雕(每日构建和一步构建,以任何形式两者都不存在)。

Currently, that's pretty much the situation my group faces. We do web-app development primarily (but no desktop development at this time). Software deployments are ugly and unwieldy even with our modest apps, and we've had far too many issues crop up in the two years I have been a part of this team (and company). It's past time to do something about that, and the upshot is that we'll be able to kill two Joel Test birds with one stone (daily builds and one-step builds, neither of which exists in any form whatsoever).

什么这里经过,我是在各种各样的事情,我需要做或思考,从谁已经在软件开发的时间比我有,也有更大的大脑的人一些一般性的见解。我相信,这将是大多数人目前在发布测试版。的

What I'm after here is some general insight on the kinds of things I need to be doing or thinking about, from people who have been in software development for longer than I have and also have bigger brains. I'm confident that will be most of the people currently posting in the beta.

相关工具:
视觉构建
源安全6.0(我知道,但我不能做,我们是否使用Source Safe中在这个时候任何东西。这可能是接下来的战斗我战斗。)

Relevant Tools: Visual Build Source Safe 6.0 (I know, but I can't do anything about whether or not we use Source Safe at this time. That might be the next battle I fight.)

姑且,我有一个视觉构建项目,做这个的:

Tentatively, I've got a Visual Build project that does this:


  1. 获取源代码并将其放置在本地目录,包括项目所需必要的DLL。

  2. 获取配置文件,并根据需要重命名(我们将其储存在不是实际的应用程序的一部分特殊的子目录,它们根据用途命名)。

  3. 构建使用Visual Studio

  4. 使用命令行precompile,复制到这将是一个构建目录

  5. 复制到目的地。

  6. 获得任何必要的额外资源 - 大多是类似的东西与该项目相关的(并投入目录步骤5)文档,图像和报告。有很多这方面的东西,我不想把它列入previously。不过,我要只复制更改的项目,所以也许这是无关紧要的。我不知道我是否真的想为包括前面的步骤这个东西。

我还需要一些哄记录出这一切视觉构建的,但我不是在一个点,我需要做的呢。

I still need to coax some logging out of Visual Build for all of this, but I'm not at a point where I need to do that yet.

有没有人有任何意见或建议,使?目前,我们不使用部署项目中,我会注意到。这将消除一些必要的步骤,在此版本中我presume(如web.config文件交换)。

Does anyone have any advice or suggestions to make? We're not currently using a Deployment Project, I'll note. It would remove some of the steps necessary in this build I presume (like web.config swapping).

推荐答案

在上一个项目,从来没有一个自动化的构建过程中服用,很容易把它的步骤。不要试图吞下多在同一时间,否则就感到不知所措。

When taking on a project that has never had an automated build process, it is easier to take it in steps. Do not try to swallow to much at one time, otherwise it can feel overwhelming.


  1. 先取得你的code。使用自动化的构建计划(即恶性/ MSBuild的)足下编译。我不想争论哪一个更好。找到一个舒适的感觉你和使用它。有构建脚本住在源代码控制项目。

  2. 找出你要如何触发自动生成。无论是它挂接到CruiseControl的运行或使用计划任务每​​晚构建任务。 CruiseControl的或TeamCity的可能是我们的最佳选择,因为它们包含了很多,你可以使用,使这个步骤更简单的工具。 CruiseControl是免费的TeamCity是免费的一个点,在那里你可能取决于项目有多大是为它买单。

  3. 确定,由这点,你将pretty舒服的工具。现在,您可以根据您想要测试,部署,等...
  4. 来做些什么增加更多的任务
  1. First get your code compiling with one step using an automated build program (i.e. nant/msbuild). I am not going to debate which one is better. Find one that feels comfortable to you and use it. Have the build scripts live with the project in source control.
  2. Figure out how you want your automated build to be triggered. Whether it is hooking it up to CruiseControl or running a nightly build task using Scheduled Tasks. CruiseControl or TeamCity is probably the best choice for this, because they include a lot of tools you can use to make this step easier. CruiseControl is free and TeamCity is free to a point, where you might have to pay for it depending on how big the project is.
  3. Ok, by this point you will be pretty comfortable with the tools. Now you are ready to add more tasks based on what you want to do for testing, deployment, and etc...

希望这有助于。

这篇关于改善你的构建过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆