简体   繁体   English

单人devteam(.NET平台)中的版本控制,部署和连续测试

[英]Version control, deployment and continuous testing in a single-person devteam (.NET platform)

I am the only developer in my company, and as such I control everything from deployment to bugfix to new features. 我是我公司唯一的开发人员,因此我控制从部署到错误修复到新功能的所有内容。 My tool of choice is VS2010 and I code primarily in ASP.NET for new features and Classic ASP ( sigh ) for the bugfixes. 我选择的工具是VS2010,我主要在ASP.NET中为新功能和经典ASP( 叹气 )编写错误修正。 I only have VS2010 Pro and I do not have access to any of the MS Team software. 我只有VS2010 Pro,我无法访问任何MS Team软件。

Now we are setting up a new production environment as we are moving and therefore I want to get into some new routines and habits. 现在我们正在建立一个新的生产环境,因此我想要进入一些新的惯例和习惯。 I currently do a lot of the bugfix directly in production code.. Not so good. 我目前在生产代码中直接做了很多bug修复..不太好。

Our application and it's friends are very good candidates for some kind of continuous integration. 我们的应用程序及其朋友非常适合某种持续集成。 However, since I do everything myself, I might be doing other work when a bug gets reported, and so my codebase is not ready for deployment. 但是,由于我自己做了所有事情,因此在报告错误时我可能正在做其他工作,所以我的代码库还没有为部署做好准备。

I am currently trying to utilize GIT for this purpouse, using it's branches and such, and this works kind of ok most of the time, but it's a bit tedious. 我目前正在尝试将GIT用于这个purpouse,使用它的分支等等,这在大多数时候都很好用,但它有点单调乏味。

Can anyone recommend a good book or some good links that deal with these issues? 任何人都可以推荐一本好书或一些处理这些问题的好链接吗? I realize that this whole question got kind of obfuscated, but I think you can deduct a point after reading it :) 我意识到整个问题有点混淆,但我认为你可以在阅读之后扣除一点:)

My current devenvironment consists of Windows 7 running VS2010 and cygwin for GIT. 我目前的devenvironment包括运行VS2010的Windows 7和运行GIT的cygwin。

From you question is seems that you're missing a CI (Continuous Integration) process in palce to guard you against regression bugs. 从你的问题看来你似乎错过了一个CI(持续集成)过程,以保护你免受回归错误。

I suggest using TeamCity server - it's easy to install and maintain and you should be up and running in no time. 我建议使用TeamCity服务器 - 它易于安装和维护,您应该立即启动并运行。

Part of your development process should be writing tests - you can use the unit testing framework that is bundled with VS - called MSTest which TeamCity can run on each commit to make sure that nothing was broken. 开发过程的一部分应该是编写测试 - 您可以使用与VS捆绑在一起的单元测试框架 - 称为MSTest,TeamCity可以在每次提交时运行,以确保没有任何内容被破坏。

Also you can use CruiseControl.NET for continuous integration process. 您还可以使用CruiseControl.NET进行持续集成过程。 With CC.Net you can always see the actual statistics, code coverage, unit tests results, receive an information by email, etc. Something about git branches - here 使用CC.Net,您可以随时查看实际统计数据,代码覆盖率,单元测试结果,通过电子邮件接收信息等。有关git分支的信息 - 这里

Hands down... I would go with Hudson for your CI needs. 放下......我会和Hudson一起为你的CI需求而努力。 I could go on and on about the virtues of it compared with Cruise Control, but all I can say is download it (open source) and see for yourself. 与Cruise Control相比,我可以继续谈论它的优点,但我只能说下载它(开源)并亲自看看。

It takes no time at all to get up and running, and there are plugins for everything 启动和运行完全没有时间,并且有插件可用于所有内容

The first time I ever used Hudson I had a build up and running in about 10 minutes. 我第一次使用哈德森时,我在大约10分钟内建立并运行。

Los Techies Has some good GIT posts for windows developers. Los Techies为Windows开发人员提供了一些很好的GIT帖子。

There is also this screencast. 还有这个截屏视频。

While you are at it I'd also suggest Continuous Integration. 当你在这里时,我也建议持续集成。 This one is with Hudson. 这个是哈德森。 Made for and in Java but works with .NET too. 适用于Java和Java,但也适用于.NET。 There is also Jetbrains Team City which is free up to a certain amount of projects. 还有Jetbrains Team City ,可以免费获得一定数量的项目。 Though Not sure how any CI will work with plain ASP. 虽然不确定任何CI如何与普通ASP一起使用。 I'm sure there are topics out there about it. 我确信有关于它的主题。

Tekpub has a full series for Git: Mastering Git . Tekpub有一个完整系列的Git: Mastering Git

The way I read your post was that is not so much about issues with deployment and continuous integration, but more on how to make sure I have the appropriate version(s) to do hot fixes / push changes / run continuous integration against. 我阅读你的帖子的方式不是关于部署和持续集成的问题,而是更多关于如何确保我有适当的版本来执行热修复/推送更改/运行持续集成。 All that, while still working normally on longer term changes. 所有这些,虽然仍然在长期变化中正常工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM