'TFS 2010'에 해당되는 글 24건

  1. 2013.07.04 [TFS] 팀 파운데이션 서버(Team Foundation Server) 를 쓰지 말아야 하는 진짜 이유 #2 (3)
  2. 2013.07.03 [불편한 진실] 한국 마이크로소프트의 세미나에 갈 때 주의사항 (4)
  3. 2011.06.14 [Visual Studio 2010 SP1] IIS EXPRESS 기능 추가
  4. 2011.06.13 [Visual Studio 2010 SP1] 실버라이트 성능 프로파일 지원
  5. 2011.06.10 [Visual Studio 2010 SP1] .NET FRAMEWORK 3.5 단위 테스트 호환
  6. 2011.05.30 Visual Studio Korea 팀의 무료 온라인 백서 공개 (1)
  7. 2010.08.16 [HowTo] TFS2010 의 Tfs_Analysis 웨어하우스 데이터베이스가 망가졌을 경우
  8. 2010.04.06 Visual Studio 2010을 활용한 ALM (1-5) - ALM 이란 무엇인가 (2)
  9. 2010.04.06 [HowTo] Work Item 쿼리를 Excel 로 내보내기 할 수 없는 경우 TF80012 에러
  10. 2010.04.06 Team Foundation 트러블 슈팅 가이드
  11. 2010.04.01 [HowTo] 가상 Lab 환경의 가상 머신 시작하기
  12. 2010.04.01 [HowTo] 가상 Lab 배포 중 오류 해결하기 TF259115
  13. 2010.04.01 [HowTo] Lab Manager 환경 구성 중 TF260078 오류 해결하기
  14. 2010.04.01 [HowTo] SCVMM 에서 암호화된 파일 전송을 사용하지 않으려면?
  15. 2010.04.01 [HowTo] Team Foundation Server 2010 FQDN 설정 방법
  16. 2010.04.01 [HowTo] SCVMM 라이브러리 템플릿 만들기
  17. 2010.04.01 [HowTo] Lab Manager 에서 가상 Lab 환경 만들기
  18. 2010.04.01 [HowTo] TFS 설치 중 Reporting Services 관련 오류 Error 28805
  19. 2010.03.31 [HowTo] Team Project Collection 옮기거나 복원하기 TF246081
  20. 2010.03.30 [HowTo] Team Project Collection 이름 변경하기
  21. 2010.03.30 [HowTo] TFS 2005/2008 데이터베이스를 TFS 2010 으로 마이그레이션
  22. 2010.01.22 TFS 2010 설치 하기 (5)
  23. 2010.01.22 TFS 2010 Build Service 설치
  24. 2010.01.22 TFS 2010 설치 과정 중에 TF255040 문제

팀 파운데이션 서버(Team Foundation Server) 를 쓰지 말아야 하는 진짜 이유 #2

팀 파운데이션 서버(Team Foundation Server) 는 2005년 처음 시장에 공개되었다. 이 시기에 많은 버그와 설치 자체가 매우 난이도가 높아서 많은 사람들의 원망을 샀다.

참고 - TFS를 쓰지 말아야 하는 진짜 이유 #1 (링크)

TFS를 쓰지 말아야 하는 진짜 이유 #1을 정리해 본다.

  • 통합? 모든 것을 만족할 수 있지만, 어느 것도 만족할 수 없다.
  • 특정 제품(Visual Studio)에 완벽하게 통합되어 외부와 완벽하게 격리된 솔루션이다
  • 우리나라에는 전문가가 없다
  • 전문가적인 서비스를 제공하는 업체도 없다
  • 마이크로소프트 제품으로 발라야 한다
  • 예측할 수 없는 잦은 장애, MS 제품에 잔지식이 많아야 한다
  • 제대로 된 기능이 하나도 없다

TFS를 쓰지 말아야 하는 이유 중 기능적인 요소로는 다음과 같다. (차후에 자세히 다루겠다)

  • 데이터베이스에 소스 코드가 저장되다보니 DB 로그 사이즈는 DB 용량(데이터)의 수십 배가 넘어간다
  • 모든 서버 통신은 SOAP 프로토콜을 사용하므로 매우 느리다
  • 작업 항목(WorkItem) 관리, 이슈/버그/개발 등을 관리하기에 매우 비효율적이고 쓰는 것 자체가 스트레스로 발전할 수 있다. (다른 이슈 관리 툴에 비해)
  • 모든 기능에 제한이 너무 많다

1. 팀 파운데이션 서버(Team Foundation Server)[1]

구글 트랜드(Google Trends)는 아래의 그래프와 같이 새로운 버전이 나올 때 조금씩 치고 올라가는 것을 알 수 있다. 하지만, 시간이 지날수록 이탈하는 사용자가 많을 것이고, 현재는 엉망으로 만들었던 TFS 2005 버전보다 더 관심이 줄어든 것으로 보인다.



2. TFS vs SVN

필자도 사실 이걸 보고는 깜짝 놀랬다. SVN(아파치 서브버전)이 알려진 시기는 TFS 2005와 몇 년 차이가 나지 않지만, SVN은 그야말로 LTE처럼 뻥 뚫린 고속도로처럼 고속으로 성장을 했다. 반면에 Team Foundation Server는 바닥에서 지렁이 기듯이 기어다닌다.



3. TFS vs SVN vs GIT

SVN과 GIT이 끼니 더이상 TFS에 대해서 할말을 잃게 만든다. 이쯔음 되면 TFS를 쓰는 사람들은 분명 M빠거나 멋모르고 쓰는 것이 분명하다.



4. TFS vs SVN vs GIT vs Mercurial

따로 TFS는 해설이 없어도 될 것 같다. 아래의 그래프가 여실히 보여주고 있으니 말이다.



결론

99% 중에 1%라면 매우 희소성이 있고 가치가 있어 보일 수도 있다. 필자가 그랬다. 스스로 가치 있다고 판단한다면 분명 그것은 가치가 있는 것이다.

하지만 소스 제어를 비롯한 ALM은 혼자만 가치를 느껴서는 절대로 공존할 수 없는 도구의 집합이다. 통합이 완벽해서 완전히 격리된 ALM 제품은 소프트웨어에 생명을 불어 넣기에 바라보는 안목을 작아지게 만든다. 툴에 종속되어 생각을 제한해서는 안된다.

100명 중 99명이 No 라고 말할 땐 그만한 이유가 있다. TFS는 2005년부터 시작되었고 현재 2013년이다. 횟수로 8년이 되었지만, TFS는 여전히 고질적인 문제를 해결하고자 하는 노력을 하지 않는 것 같다. 현재의 TFS 2012/2013 은 TFS 2005 초기 버전 그 이상을 아직도 뛰어 넘지 못했고, 앞으로도 뛰어 넘지 못할 것이다.

  • 성능
    점점 느려진다. 28GB 넘는 바이너리가 없는 소스코드를 인트라넷 네트워크에서 10시간 넘게 받은 적이 여러번이다.

  • 확장성
    SDK로 깨잘되는 것 말고 할 수 있는 확장 포인트가 거의 없다.

  • 사용성
    애자일보드/칸반(Kanban), 드래그&드롭, 이런거 보여주면서 사용성이 좋다고 하면 오류다. 실무에서 거의 쓸 일도 없고 더 불편하다.

  • 크로스플랫폼
    Team Explorer EveryWhere 가 크로스플랫폼을 지원한다고? 만약 이클립스를 안쓰면 어쩔건데…? 답이 없다. 다양한 개발툴 대부분이 TFS를 지원해 주는 플러그인이 없고, 지원이 된다고 해도 소스 제어 수준에서만 지원을 한다. 그러므로 통합의 의미 자체가 희석되어 버린다.


  1. ‘TFS’ 트랜드 검색 시 merida/matts 등의 통계에 방해되는 데이터가 포함되어 Team Foundation Server 로 탐색을 하였음.  ↩


Posted by 땡초 POWERUMC

댓글을 달아 주세요

  1. 조경민 2014.05.14 18:36 Address Modify/Delete Reply

    참 안타까운 현실이네요.. 안타까운 마음에 글 남겨봅니다..
    저희 회사에서는 아직도 TFS 2010을 사용하고 있습니다. 물론 제가 서버 구축(MOSS연동까지..)부터 관리까지 다 하고 있는 상태이구요. 용도는 이슈(요구사항, 버그) 및 개발작업(릴리즈, 로드맵, 사이트모듈, 회의록, QA요청) 관리 위주로 사용하고 있습니다. 소스관리는 시도를 했다 결구 SVN으로 갈아탔지요.. 요즘 SVN은 AD와 연동이 되서 그나마 다행이었네요.
    제가 기존 TFS에 매력을 크게 느꼈던 부분은 양식의 커스터마이즈와 한글화 때문이었습니다.
    위에 언급한 이슈(요구사항, 버그) 및 개발작업(릴리즈, 로드맵, 사이트모듈, 회의록, QA요청)모두 양식을 커스터마이즈 해서 사용하고 있습니다. 필드까지 싹 변경 할 수 있기 때문에 저에게는 엄청난 강점으로 느껴졌었습니다. 아주 심플한 혹은 강제화 할 수 있는 양식으로 탈바꿈할 수 있다는 부분은 큰 매력이였네요. 지금도 물론 잘 사용하고는 있지만 근래 JIRA 등의 동향을 보고 싶어 검색하다 여기까지 오게 됬네요.
    지금으로써 제일 불편한점은 간트차트를 사용하지 못한다는 것 외에는 크게 없는데.. JIRA를 데모해보면 또 어떻게 바뀔지 모르겠네요.
    환경적인 내용 외에 위 언급드린 내용 기준으로 비교되는 글이 더 있음 정말 좋을 듯 합니다. ^^

    아 그리고 한글화는 아직도 TFS가 최고라고 생각되네요 ㅋㅋ이넘의 짧은 영어는 언제나 발목이..

    좋은 글 잘 읽었습니다. 앞으로도 좋은 정보 부탁드립니다.
    감사합니다.

  2. 남뉴 2014.07.02 11:21 Address Modify/Delete Reply

    재밌는 글 감사합니다. 전 오히려 개발소스버젼관리시스템 자체에 회의감이 듭니다. 여러 사람이 쉽게 소스를 관리하는건 장점이고 권한에 따른 제한도 있어서 장점일 것 같지만, 오히려 잘못된 버젼 관리로 인한 문제가 더 많아 질때가 있습니다.(이건 직급이 높아도 경험이 많아도 문제가 발생합니다. )
    덕분에 압축과 시스템을 병행하고 있습니다. 마치 종이로 인쇄하고 다시 PDF나 문서파일로 웹에도 올리는
    형상이죠

  3. 지나가는이 2015.04.20 16:06 Address Modify/Delete Reply

    훌륭한 정보 잘보고 갑니다. 감사합니다.

불편한 진실, 한국 마이크로소프트가 주최/후원하는 세미나에 갈 때 주의사항

예전에는 한국 마이크로소프트에서 직접 주최하거나 후원하는 세미나가 매우 많았다. 아마도 MS 기반의 플랫폼 개발자들에게 가장 생기가 넘치던 때가 아닌가 싶다.

필자는 오랫동안 한국 마이크로소프트의 관계자에게 압력을 받아왔다. 사용자 입장에서의 피드백이나 단점을 지적하게 되면 개인 SNS와 블로그, 커뮤니티를 가리지 않고 감시하고, 필자가 올린 글을 내리라고 한다. 그렇게 필자가 압력을 받아 내리게 된 글이 수 건이나 된다. 마이크로소프트는 소프트웨어 개발사로 매우 존경한다. 하지만, 한국 마이크로소프트는 철저한 영업 조직인 만큼 물건 팔 때 방해가 되는 것은 도를 넘어서라도 한낱 개인에게 까지 압력을 행사하는 머 그런 곳인가 보다.

현재는 Microsoft MVP가 아니므로 직접적인 압력 행사는 없지만 (앞으로는 간접적으로도 아니길 바란다.), 필자가 한국 마이크로소프트에 완전히 등을 돌린 것이 아직까지 신경에 민감한가보다. 필요할 땐 페이스북에서 예고 없이 그룹에 초대하더니 예고 없이 강탈 당하고, 페이스북에 신고를 한 모양이다. 이렇게 빨리 필자에게 피드백을 주는 것을 보니 꽤나 신경질이 났던 모양이다. 더불어 필자에게 휘둘려 주고 귀기울여 준다는 사실에 오히려 고맙게 느껴진다.

결국 필자가 그 잘난 MVP를 그만둔 사연도 한국 마이크로소프트의 관계자들이 개인 사찰의 정도가 지나치다고 판단에서 부터였으니… 회계분기가 끝나면 필자가 나름 매력에 빠진 새로운 플랫폼에 매진할 것이다.

각설하고, 본론만 간결하고 굵게 얘기하고자 한다.

아래에 언급하는 내용은 필자가 한국 마이크로소프트와 함께 세미나를 진행하면서 알게 된 사실이다. 필자의 발표가 끝나고 약간 짬을 내어 세미나 내용에 대해 질문을 받았는데, 질문자는 어쩌다가 회사에서 사용하는 개발툴 버전과 관련된 질문을 필자에게 했다. 허나 안타깝게도 이 사람은 한국 마이크로소프트의 희생양이 될 것이다. 모든 행사가 끝나고 관계자들과 담배를 피고 있었는데, 한국 마이크로소프트 관계자는 질문자의 회사가 라이센스를 구매하지 않은 사실을 알게되었고, 그 사실에 매우 기뻐하며 “오~ 좋아~”를 연발하였다.

그 이후 실제 라이센스를 매기러 갔는지는 모르겠으나, 경솔하게 필자 앞에서 그들의 영업 비밀을 누설을 해버렸다. 물론, 결과적으로 매우 합법적이겠지만, 파트너쉽(?)에 있어 아작 아작 금이 가는 것은 어쩔 수 없을 것이다. 내가 알고 있는 기업 몇 곳이 .NET 으로 쫙 깔인 회사의 플랫폼 기반을 돌연 Java로 바꾸는데 큰 기여를 하지 않았나 하는 생각이 든다.

뭐 아무튼 위의 사실을 나와 내 지인이 함께 있던 자리여서 왠지 더 씁쓸한 미소를 지었다. 쉽게 말해, 증인이 있다는거다. (당연히 양심적인 사람들이 더 많지만, 아닌 사람 얼굴이 그 회사를 대표하는 이미지 메이커 아닌가)

이미지 참조 Windows 8 APP STAR 앱 비즈니스 성공 전략 세미나 참여 후기


1. 한국 마이크로소프트 주최/후원 세미나에 갈 때,

대부분 무료 세미나다. 하지만 무료라고 기뻐하지 마라. 당신에게 세미나 피드백과 설문조사라는 명목으로 종이 한장을 내밀 것이다.

2. 절대 설문 조사에 응하지 말 것,

항상 세미나 후에 설문 조사를 위해 종이를 나누어 준다. 이것을 작성하는 순간 당신은 중요한 회사 보안 사항을 누설하는 것이다. 여기에 이름/회사/연락처/이메일/사용하는 개발툴 등을 기재하는 란이 있다.

3. 절대 회사명을 밝히지 말 것,

보통 각 제품을 담당하는 사람이 있는데, 이 사람은 어느 회사에 몇 카피(Copy)/ 라이센스가 몇 개 있는지 머릿속에 꽤차고 있다.

4. 절대 사용하는 개발 툴, 제품을 쓰지 말 것,

설문 조사에 응하는 순간 당신의 회사에 몇 카피를 사용하고 있는지 알고 있다. 그러므로 당신의 회사가 보유한 라이센스 유무 및 개수가 바로 파악이 된다.

5. 한국 마이크로소프트가 당신 회사를 방문할 것이다.

당신이 제공한 정보로 불법 사용 여부가 여실히 드러나게 된다면, 회계 분기가 되면 한국 마이크로소프트는 어김 없이 설문 조사 데이터를 토대로 여러분을 찾아갈 것이다.

6. 절대 이름을 남기지 말 것,

아무튼 남기지 마라.

7. 절대 이메일을 남기지 말 것,

xxx@powerumc.kr 과 같이 회사의 도메인이 들어갔다면 절대 이메일 정보를 쓰지 마라. 이왕 개인 이메일도 쓰지 마라.

8. 단, 모든 것이 ‘좋다’, ‘매우 만족’ 에 동그라미 칠 것,

열심히 발표한 스피커는 아무 상관이 없지 않은가. 특히 초짜 스피커는 아무런 보상 없이(땡전 한푼 안받고) 오로지 열정 하나로 여러분들 앞에 서는 것이다. 그러므로 혹여 세미나가 만족스럽지 못하더라도 꿈과 희망을 주기 위해 좋은 평가를 하는 것이 어떨까.

Posted by 땡초 POWERUMC

댓글을 달아 주세요

  1. 2013.07.04 12:16 Address Modify/Delete Reply

    그런 일도 있었군요.
    예전에 잠깐 발 담근 프로젝트에서는 영업 온 한국 MS직원이 라이센스 구매의사가 있는 기업을 신고한 적도 있다더군요. 영업상담하면 무슨 라이센스가 없는지 다 알게되고 개발과정이 어느 정도 진척됐는지만 알면 몇몇 제품을 그동안 그냥 쓰고 있던건지 그림이 나오니까요...

  2. ㄴㄴ 2013.07.05 00:55 Address Modify/Delete Reply

    ms 세미나 여러차례 가본적이 있었지만, 항상 기대이하여서 그 이후론 가지도 않게 되더군요.
    거의 마케팅용정도.. ms제품군 홍보가 한계였었음.

  3. 강성호 2016.02.20 18:23 Address Modify/Delete Reply

    불법 소프트웨어 사용이 올바른 것인가요??...글은 흥미있게 보고 있으나, 이번글은 이해가 안됩니다...

    • 땡초 2016.02.21 11:39 Address Modify/Delete

      제 의도는 방법이 잘못되었다는 것을 얘기하는 것입니다.
      물론 불법을 장려하는 것도 아니고요.

기본적으로 웹 응용 프로그램을 개발할 경우 로컬에서 동작하는 ASP.NET Development Server 가 활성화가 됩니다.

그림 1 로컬 ASP.NET Development Server 가 동작하는 화면

웹을 개발할 때 Visual Studio가 제공하는 로컬에서 동작하는 ASP.NET Development Server 로 충분히 어려움 없이 개발을 할 수 있으나 웹 개발의 여러 가지 상황을 고려해 보면 기능이 충분하지는 않았습니다.

예를 들면, 기존의 로컬에서 동작하는 ASP.NET Development Server는 특정 웹 페이지나 XML 웹 서비스, WCF 서비스가 SSL(Secure Sockets Layer)로 동작한다거나 WCF의 NET.TCP, NET.PIPE 등의 바인딩을 사용할 수 없었습니다.

이런 여러 가지 기능적으로 IIS Express 를 사용할 경우 얻을 수 있는 이점이 많고, 기존 웹 응용 프로그램을 IIS Express에서 동작하도록 변경하기 위한 절차 또한 매우 간단합니다.

IIS Express가 설치되어 있다면, 웹 응용 프로그램에서 마우스 오른쪽 버튼을 클릭하여 IIS Express 사용을 선택하면 즉시 IIS Express 에서 웹 응용 프로그램이 동작하도록 할 수 있습니다.

 

그리고 다음의 확인 메시지에서 '예'를 클릭하면 바로 IIS Express로 웹 응용 프로그램을 개발할 수 있습니다.

 

IIS Express는 윈도우의 알림 영역에서 찾을 수 있으며 이 아이콘을 이용하여 여러 개의 호스팅 되고 있는 웹 응용 프로그램을 관리할 수 있습니다.

 

IIS Express를 사용하여 Visual Studio 2010에서 여러 가지 설정을 즉시 변경해 줄 수 있습니다.

그림 2 IIS Express 설치시 웹 응용 프로그램 속성

그림 3 기존 ASP.NET Development Server 속성

 

 

 

IIS 7과 IIS Express 버전의 비교표:

Area

IIS 7

IIS Express

Shipping mechanism

Ships with the OS.

Ships out-of-band. It is automatically included with WebMatrix but can also be installed separately.

Supported Windows editions

Limited number of Windows Vista and Windows 7 editions

Most editions of Windows Server 2003, 2008 and 2008 R2

All editions of Windows XP, Vista, Windows 7

All editions of Windows Server 2008 and 2008 R2

Supported .NET Framework versions

v2.0 SP1 and above

v2.0 SP1 and above (.NET 4.0 is required).

Supported programming languages

Classic ASP, ASP.NET, and PHP

Classic ASP, ASP.NET, and PHP

Process model

Windows Process Activation Service (WAS) automatically manages configured sites.

User launches and terminates sites.

Hosted WebCore (aka Hostable Web Core) support

Yes

Yes. IIS Express is implemented as a layer over HWC.

Supported protocols

HTTP, FTP, WebDAV, HTTPS, and WCF (including over TCP, Named Pipes, and MSMQ)

HTTP, HTTPS, and WCF over HTTP

Non-admin support

WAS must run with administrator user rights.

A standard user is allowed to complete most tasks.

Multi-developer support

None

Yes. Configuration files, settings, and Web content are maintained on a per-user basis.

Visual Studio support

Yes

VS 2010 SP1 Beta allows IIS Express to be used instead of Cassini. VS 2008 can also be manually configured to use IIS Express.

Runtime extensions

See http://www.iis.net/download/All for a complete list.

URL Rewrite and FastCGI. These extensions are built into IIS Express.

Management tools

IIS Manager, appcmd.exe

Appcmd.exe. Common IIS Express management tasks are also built into WebMatrix and Visual Studio 2010 SP1 Beta.

System tray support

None

Yes

Includes built-in IIS 7x modules for authentication, authorization, compression, etc.

Yes

Yes

 

참고

IIS Express Overview

http://learn.iis.net/page.aspx/868/iis-express-overview/

 

IIS Express를 설치하기 위해 WPI(Web Platform Installer) 다운로드 페이지

http://www.microsoft.com/web/gallery/install.aspx?appid=iisexpress

 

그림 4 Web Platform Installer 초기 설치 화면

 

그림 5 기본적인 구성 요소인 IIS Express 설치 화면

 

Posted by 땡초 POWERUMC

댓글을 달아 주세요

실버라이트 4 이전의 버전에서 Visual Studio에서 성능 프로파일을 지원하지 않은 것은 아닙니다. 다만, 개발 도구에서 지원하지 않았을 뿐이고, Command Line을 이용하여 브라우저를 Attached 하여 성능 프로파일을 할 수 있었습니다.

물론, 예전에도 실버라이트에서 성능 프로파일링을 위해 커맨드 라인으로 프로파일링을 할 수 있었습니다. 아래와 같은 순서대로 커맨드를 실행하면 되었습니다.

  1. VSPerfClrEnv /sampleon
  2. "c:\Program Files (x86)\Internet Explorer\iexplore.exe" C:\Breakout\Breakout\Bin\Release\TestPage.html
  3. VSPerfCmd /start:sample /output:MyFile /attach:<PID of iexplore.exe process>
  4. Run your scenario
  5. VSPerfCmd /detach
  6. VSPerfCmd /shutdown
  7. VSPerfClrEnv /off

 

이번 Visual Studio 2010 SP1에서는 개발 도구에서 직접 성능 프로파일을 지원합니다. 번거로이 Command Line을 사용할 필요 없이, 기존의 성능 프로파일의 사용 경험을 그대로 실버라이트 4에 적용할 수 있습니다.

Visual Studio 2010의 분석->성능 마법사 시작 메뉴를 클릭하여 실버라이트 응용 프로그램을 프로파일링 할 준비를 합니다.

 

아래와 같이 성능 프로파일을 시작하면 성능 마법사 페이지가 실행됩니다.

  • CPU 샘플링
    예를 들어, 많은 데이터 작업이나 UI요소 핸들링에서 CPU에 얼만큼의 부담을 주는지 측정할 수 있는 방법입니다.

  • 계측
    관리되는 응용 프로그램이 런타임에 얼마만큼의 리소스와 실행 시간을 갖는지 측정할 수 있습니다. 모듈/클래스/메서드 수준에서 성능을 측정할 수 있는 방법입니다.

  • .NET 메모리 할당
    관리되는 응용 프로그램이 얼만큼의 메모리를 소비하고, 가비지 컬렉션(Garbage Collection) 되는지 등의 수준 높은 메모리 정보를 제공합니다.

  • 동시성
    운영체제 차원에서 메모리의 교착 및 컨텍스트 스위칭(Context Switching)을 관찰하고 다른 프로세스에 어떤 영향을 받는지 Low Level의 정보를 제공합니다.

     

 
필자는 CPU 샘플링을 선택하였고, 2단계 페이지에서는 어떤 응용 프로그램을 프로파일링 할 지 선택합니다. 만약 솔루션 탐색기에 로드 되지 않은 프로젝트는 실행 파일(.EXE) 형태의 파일을 선택하면 소스 코드 없이 다음 단계로 이동할 수 있습니다.

 

3단계 마법사 페이지는 즉시 프로파일링을 시작할지 여부를 선택합니다. 기본 설정으로 마침을 선택하면 선택한 프로젝트 또는 실행 파일을 실행하고 프로파일링을 시작하게 됩니다.

 

응용 프로그램이 실행되면 다양한 테스트 시나리오로 테스트를 진행하고, 응용 프로그램을 마치면 수집된 프로파일링 정보로 프로파일링 결과 페이지를 볼 수 있습니다.

 

 

화면의 좌측 상단의 뷰를 변경하면서 성능 구간을 다양한 측면에서 분석을 할 수 있습니다.

 

Posted by 땡초 POWERUMC

댓글을 달아 주세요

Visual Studio 2010에서 단위 테스트 프로젝트를 생성하면 .NET Framework 4.0 의 단위 테스트 프로젝트를 지원했습니다. 단위 테스트 프로젝트를 .NET Framework 3.5 로 변경을 하게 되면 올바로 단위 테스트가 수행되지 않았던 문제가 있었습니다. 바로 아래와 같이 .NET Framework 버전을 변경하게 되면 발생하는 오류 메시지입니다.

 

그림 1 Visual Studio 2010에서 .NET Framework 3.5 로 변경할 경우

 

때문에 MSBuild 4.0으로 .NET Framework 3.5 빌드 및 테스트를 하게 되면 올바르게 빌드가 되지 않는 문제가 있었습니다.

필자 또한 이러한 문제로 인하여 다음과 같은 불편한 과정을 겪어야 했습니다.

참고

VS2008 을 VS2010 에서 동시에 개발하기

http://blog.powerumc.kr/314

 

VS2008 과 VS2010 동시에 개발하기 : 테스트 프로젝트가 포함 될 경우

http://blog.powerumc.kr/315

 

Visual Studio 2010 SP1은 이제 .NET Framework 3.5 버전의 단위 테스트도 지원이 가능하게 되었습니다.

그림 2 Visual Studio 2010에서 .NET Framework 3.5, 4.0 모두 단위 테스트 지원

 

다만, Visual Studio 2010 SP1은 .NET Framework 3.5까지 단위 테스트 프로젝트를 지원하며, 그 이하(.NET Framework 2.0, 3.0) 단위 테스트는 지원하지 않습니다.

Posted by 땡초 POWERUMC

댓글을 달아 주세요

그간 저희 Visual Studio Korea 팀에서 2010년 6월 1일 REMIX10 무료 온라인 백서를 참석 전원에게 드린 적이 있었습니다.

http://vsts2010.net/338
Visual Studio 2010 최신 PDF 자료를 MSDN 에서 다운로드 받으세요

그리고 지난 2011년 4월 18일, 그 두 번째 온라인 무료 백서를 공개하게 되었습니다.

 

VISUAL STUDIO KOREA 팀의 온라인 백서 다운로드 사이트

http://msdn.microsoft.com/ko-kr/gg620748

Visual Studio 응용 프로그램 모델링 완전 정복 백서

엄준일 MVP (엔씨소프트) – 다운받기

 

"Visual Studio 응용 프로그램 모델링 완전 정복 백서" 개발자에서 뛰어난 개발자로 안내하는 효과적인 백서입니다. 최종 산출물인 동작하는 소스 코드를 위해, 모델링에 대한 배경과 방법을 개발자의 관점에서 설명합니다. 그리고 Visual Studio 2010 이용하여 개발자가 효과적으로 모델링을 있는 환경을 제시합니다.

개발자들이여, 이제는 "개발자는 코드로 말한다" 관념을 버리십시오.현대의 소프트웨어 개발에서는 언제까지 당신의 코드가 나오기까지 기다려주지 않습니다.선택과 집중의 개발 생태계에서 당신이 올바른 방향을 바라보고 발을 내딛는다는 것을 아무도 믿어주지 않습니다.

코드로 말하기 이전에 자신의 목적과 목표를 명확하게 시각화하여 말하는 것이야 말로 우리 시대가 원하는 뛰어난 개발자임이 확신합니다.

 

ASP.NET MVC - M, V 그리고 C 각방생활

박세식 (유니위스) - 다운받기

  

ASP.NET 가려운 곳을 긁어줄 대안의 프레임워크가 나왔으니 바로 ASP.NET MVC 프레임워크입니다. MVC 각각 담당하고 있는 일이 있습니다. 컨트롤러는 사용자 요청의 흐름을 제어하고 그에 따른 모델과 뷰를 선택하는 , 모델은 데이터와 유효성 검사, 비즈니스 로직을 담당하는 , 뷰는 컨트롤러에서 전달받은 데이터를 UI에서 처리하는 일을 합니다. 이렇게 모델, , 컨트롤러로 명확하게 분리된 구조가 여느 복잡한 어플리케이션도 구조적으로 쉽게 개발할 있도록 도와줍니다. 여기 백서를 통해 개발의 도움을 주는 M, V 그리고 C 각방생활을 소개합니다.

남자의 Visual Studio 2010 TDD(Test Driven Development)이야기

강보람 MVP (IT Flow 선임 컨설턴트), 박세식 (유니위스) - 다운받기

  

TDD(Test Driven Development), 테스트 주도 개발은 애자일한 개발을 지원하기 위한 하나의 실천적 도구입니다. 하지만, 단순히 세부적으로 어떻게 해야 되는 것인지를 묻는 'How'만으로는 TDD 제대로 이해할 수가 없습니다. 어째서 TDD 소개되었으며, TDD 통해서 어떤 장점을 얻을 있는지를 이야기 하는 'Why' 'What' 동반되어야 TDD 이해할 있는 기반을 마련하는 것이시죠. 여기 개발자가 TDD 대해 나눈 대화를 흥미롭게 재구성해 기록한 백서가 있습니다. 백서를 통해서 TDD 대한 'Why', 'What' 그리고 Visual Studio 2010 개발에 TDD 적용한 'How' 같이 얻으시기 바랍니다.

  

 

Posted by 땡초 POWERUMC

댓글을 달아 주세요

  1. 맨날맑음 2011.05.30 08:36 Address Modify/Delete Reply

    좋은 백서 감사합니다^.^

문제 발생

얼마 전, 집에서 몇 번의 누전 사고로 인해 집 서버의 컴퓨터가 여러 번 꺼지는 충격을 받았습니다. 그 이후로 잘 동작하는 줄 알았지만, Team Foundation Server 의 웨어하우스가 제대로 동작하지 않았습니다.

Team Foundation Administration Console 을 통해 확인해 본 결과 Warehouse Database 의 구성이 올바르지 않아 Rebuild 가 되지 않는 현상을 발견했습니다.

   

SQL Server 의 DT(Database Tier) 에서 확인해 본 결과, 아래와 같이 웨어하우스 파일에 오류가 발생하였습니다.

   

문제 해결

여러 번 집 서버 컴퓨터가 꺼지는 현상이 발생하여 이 파일을 복구 하기에는 좀 힘들어 보였습니다. 그래서 Tfs_Analysis 웨어하우스 데이터베이스를 새로 생성하는 방법이 어떨까 하고 검색을 해 보았습니다.

Failed to Process Analysis Database 'Tfs_Analysis'
http://social.msdn.microsoft.com/Forums/en/tfsgeneral/thread/9a2e4292-a719-43df-8757-dd90d5f60ab0

위 내용에서 확인할 수 있듯이, 기존 웨어하우스 데이터베이스를 삭제하면 자동으로 다시 만들어준다고 합니다. 하지만 위와 같은 오류가 나면 삭제도 안됩니다. 다른 데이터베이스 이름을 사용하기도 싫군요^^; 선뜻 데이터베이스를 삭제하기도 그렇고, 백업 오류도 발생하여 Hyper-V 의 스냅샷을 찍어두고 데이터베이스를 삭제하고 다시 만들어 보았습니다.

1. SQL Analysis 데이터베이스를 정지합니다.

   

2. 아래의 폴더로 이동한 후, Tfs_Analysis.0.db 폴더의 이름을 변경합니다.
%ProgramFiles%\Microsoft SQL Server\MSAS10.MSSQL2008\OLAP\Data

   

3. 다시 MSSQL Analysis 서비스를 시작합니다.

   

4. Tfs_Analysis 데이터베이스에서 마우스 오른쪽 버튼을 클릭한 후, 삭제를 선택합니다.

   

5. 개체 삭제에서 확인을 클릭합니다.

   

6. Team Foundation Administration Console 의 Application Tier-Reporting 메뉴로 이동한 후, Edit 를 클릭합니다.

   

7. 각 탭 메뉴에서 Test Connection 을 클릭하면, '기존의 데이터베이스가 없는 경우 새로 생성된다는' 메시지와 함께 테스트가 성공합니다.

   

8. 모든 구성을 완료하였으면, OK 버튼을 클릭합니다. 그럼, 새로운 Analysis Database 가 생성이 되는 작업을 진행합니다. 
   

9. MSSQL Analysis 서버에 Tfs_Analysis 데이터베이스가 새로 생성된 것을 확인할 수 있습니다.

   

10. Team Foundation Administration Console 의 Reporting 메뉴에서 Start Job 과 Start Rebuild 메뉴를 차례로 클릭해 줍니다.

   

11. 모든 웨어하우스와 관련된 서비스가 정상적으로 동작하는 것을 확인하고 작업을 완료합니다.

Posted by 땡초 POWERUMC

댓글을 달아 주세요

본 원고는 월간 마이크로소프트 2010년 3월호에 기고한 원문입니다.

 

Visual Studio 2010 활용한 ALM(Application Lifecycle Management)

 

 

 

 

 

  1. ALM 이란 무엇인가?
  2. 효율적인 프로젝트를 위한 애자일한 프로세스 프로세스 강요
  3. 명확한 작업의 관리와 지속적인 통합 추적성
  4. 과거와 현재를 알면 미래가 보인다 가시성
  5. ALM 가상화의 만남 Test and Lab Management

 

엄준일 : 닷넷엑스퍼트(.NETXPERT) 선임 컨설턴트로 재직 중이며, Microsoft Team System MVP 활동하고 있다. 많은 대기업 프로젝트와 컨설팅 경험을 바탕으로 좋은 소프트웨어를 만들기 위한 기반을 만들며, .NET 우리의 미래 동반자임을 확신하고 꾸준히 새로운 기술을 전파하고 있다. (http://blog.powerumc.kr)

 

 

 

 

작성자: 엄준일 선임/ Microsoft MVP

감수자:안재우 수석/Microsoft MVP


ALM(Application Lifecycle Management) 의 개요

 

최근 몇 해 사이에 ALM(Application Lifecycle Management)라는 용어를 자주 듣게 되었고, ALM에 대해 논의를 하게 되고, ALM 을 해야 한다라는 말을 자주 듣게 됩니다. 최근 들어, 실제로 많은 기업이나 조직에서 ALM 도입을 검토하고 있고, 왜 ALM에 대해 열광하는지에 대해서도 궁금한 부분이 아닐 수 없습니다. 그렇다면 우리는 이제 ALM이 무엇이고, 왜 등장하였으며, ALM에 대한 오해와 진실에 대해서 충분히 이야기를 나눌 가치가 있다고 생각합니다.

   

ALM 이란?

ALM(Application Lifecycle Management, 이하 ALM)을 한글로 번역하면 "응용프로그램 수명주기 관리" 라고 합니다. 현대 사회는 문화, 언어, 가치관, 기술 등이 빠르게 발전하고 있습니다. 문명의 발전이 없다면 죽은 문명이고, 마찬가지로 소프트웨어가 변화하고 발전하지 않으면 죽은 소프트웨어나 마찬가지 입니다. ALM 을 쉽게 말하면 바로 이런 소프트웨어가 생산되고 릴리즈, 유지, 관리하기 위한 기술을 총칭합니다.

   

ALM 등장배경

예전부터 소프트웨어를 개발하는 방법이 꾸준히 연구되었으며, 그 중 가장 대표적인 방식이 SDLC(Software Development Lifecycle) 입니다.

   

SDLC 의 대표적인 개발 방법론 중에 폭포수 모델(Waterfall Model)이 있는데, 로이스(Royce) 라는 사람에 의해 정의된 폭포수 모델은 요구사항, 디자인, 구현, 통합, 테스트, 릴리즈, 유지보수라는 단계로 구분이 되며, 각 단계는 순차적으로 진행되게 됩니다. 요구 사항이 없으면, 디자인을 할 수 없고, 디자인을 하지 않으면 구현을 할 수 없는 형태의 개발 방법으로 현 단계에 문제나 오류가 발생하게 반드시 위험 요소를 제거한 후에 다음 단계로 이동하게 됩니다. 이러한 개발 방법은 각 단계별로 상하 연관성이 없고 명확하게 구분되어 있으며, 최근에도 이러한 개발 방법으로 많은 프로젝트가 진행됩니다.

   

그림 1 일반적인 폭포수(Waterfall) 모델

   

하지만 최근 이러한 Top-Down 방식의 수직적인 개발 방식에 많은 비판을 받고 있습니다. 초기 계획이 완벽하지 않으면 전체 일정 또는 계획이 완벽하지 않다는 의미이기 때문입니다. 고객도 자신의 정확한 요구 사항을 알지 못합니다. 이런 과정에서 프로토타입(Prototype) 을 고객에게 시연하고 고객의 정확한 요구 사항을 도출해야 합니다. 하지만 고객의 요구 사항은 언제나 변할 수 있습니다. 즉, 완벽한 요구 사항을 정의한 후에, 다음 단계로 넘어간 이후에도 고객의 요구 사항은 변할 수 있고, 그렇다면 어찌되었건 초기 계획이 잘못될 수 밖에 없습니다. 이미 구현과 테스트로 검증이 끝난 기능에도 기능적인 기능의 추가 및 변경, 디자인 요소의 변경 등을 이유로 고객의 요구 사항은 변할 수 있고, 그렇다면 다시 원점으로 돌아가 이전의 계획은 수정이 되어야 하며, 이미 이러한 경우는 최초 계획이 잘못되었다고 생각할 수 밖에 없습니다.

   

그 이외에도 초기 계획을 얼마나 정확하게 수립할 것인지는 굉장히 민감한 문제이기도 합니다. 초기 계획 단계를 지나치게 명확하게 강조할 경우 그만큼의 비용이나 시간이 추가되는데, 전체 프로젝트의 일정과 대비하여 그것이 지나칠 경우 실제로 구현이나 테스트를 해야 할 시간은 촉박해 질 수 밖에 없습니다. 프로젝트의 기간은 6개월인데 정확한 프로젝트의 계획 수립을 위해 3개월의 시간을 소비한다면 분명 구현이나 테스트를 여유 있게 할 수 없을 것입니다. 고객을 이해시킬 수 있는 신뢰된 계획안을 보여줄 수 있겠지만, 오히려 불필요한 문서의 양산할 수 있을 가능성이 충분합니다. 이런 경우 프로젝트의 단계별로 거꾸로 기간을 산정하는 역산법 등을 이용하기도 합니다.

   

폭포수 모델(Waterfall Model)은 여러 가지의 문제 제기를 통해 다양하게 변형된 모델로 발전해 왔습니다. 여기에서는 설명하지 않을 예정이지만, 소프트웨어 개발 방법론은 여러 가지 변형된 형태로 발전해왔음을 알 수 있습니다.

   

그렇다면, ALM 의 등장 배경을 얘기 하기 위해 왜 이렇게 긴 SDLC(Software Development Lifecycle) 이야기를 했을까요? 위의 이야기에서 볼 때 SDLC 는 바로 소프트웨어를 개발하기 위한 방법론이라는 것입니다. SDLC 는 소프트웨어 공학에서 정의하는 용어로써, 소프트웨어를 효과적으로 개발하기 위한 다양한 방법을 이야기 한다는 것입니다. 즉, SDLC 은 소프트웨어를 개발하는 기술적인 관점을 이야기 합니다.

   

ALM 은 바로 소프트웨어를 개발하기 위한 기술적인 관점과 더불어 비즈니스적인 가치를 융합하도록 합니다. 소프트웨어의 개발은 기술적이거나 방법적인 문제와 더불어, 실제로 조직 간의 이해 관계, 그리고 비즈니즈 관계의 영역까지 확대됩니다. 소프트웨어를 개발하기 위해 프로젝트의 비전이나 목표 그리고 이것을 이행하기 위한 여러 방법론적인 단계는 통합되고 유기적인 관계입니다. 단지 기술적인 관점에서 바라보는 것이 아닌, 비즈니스 관점에서의 이해 관계나 조직의 측면도 ALM 에서 포괄하고 있습니다.

   

그렇다면 ALM 은 전혀 새로운 기술이 아님을 알 수 있습니다. ALM 은 이미 오래 전부터 조직적으로 알게 모르게 수행하였고, ALM 을 수행하기 위해서는 어떠한 프로세스적인 요소를 강제하고 있었습니다. 마치 군대에서 기상->아침 구보->보고(점호)->아침 식사-> … -> 저녁 식사->청소->보고(점호)->취침 과 같이 매일 반복되는 프로세스와도 유사할 수 있습니다. 그리고 이런 프로세스가 잘 진행되는지의 여부를 알기 위해 상사에게 "보고" 하는데 소프트웨어 개발 측면에서는 각종 산출물이나 보고서가 필요합니다. 그리고 병사들이 야간 근무를 교대하고 활동을 추적하기 위해 교대 시간마다 기록을 하게 됩니다.


 

프로세스 강요(Process Enactment)

일관된 프로세스를 강요해야 함

가시화(Visibility)

모든 전반적인 활동에 대한 진행 상황을 볼 수 있어야 함

추적성(Traceability)

모든 활동이나 산출물 등 연관 관계를 추적할 수 있어야 함

1 ALM 3대 구성 요소

   

   

하지만, 이러한 일련의 통일되고 융합된 활동을 한다는 것은 쉽지 않습니다. 문서화나 정형화된 프로세스조차 없는 팀이나 조직이 있는 경우도 있고, 암묵적인 프로세스가 존재하지만 어쨌든 이런 프로세스를 강요한다는 것은 쉽지 않습니다. 또한 팀의 매니저 또는 PM(Project Manager) 나 그 위의 상부 조직은 일이 잘 진행되는지 궁금해 하기 때문에, 이러한 이유로 개발자는 팀장 또는 상사에게 일일 보고서나 주간 보고서를 작성하고, 이것을 다시 취합하여 최종 보고서로 작성합니다. 프로젝트의 단계가 진행될수록 보고서의 양은 늘어나고, 그 종류도 다양해질 것입니다. 어찌 보면, 프로젝트를 위한 프로젝트가 아닌, 보고서를 위한 프로젝트가 되어버리는 셈입니다.

   

이젠 활동이나 작업을 추적하는 것도 어려울 것입니다. 수십 수백의 여러 가지 종류의 보고서는 이제 버전 관리 하기 조차 버거워질 수 있습니다. 또한 각 역할 담당자들은 결과물, 인도적 차원, 유지보수 차원에서 다양한 산출물을 양산해 냅니다. 필요에 의해 과거의 산출물을 찾는 것도 어렵고, 산출물 자체를 유지 보수 하는 것도 어려워 집니다. 그 외에도 변화하는 모든 활동들은 어떻게 변화했는지조차 알 길이 없습니다. 다양한 산출물과 활동, 그리고 변화에 대한 추적이 불가능 하다면 이미 양산된 문서를 관리하는 것은 결국 의미 없는 활동일 수 있습니다. 실제로 컨설팅 의뢰로 기업을 방문하여 문제를 진단하기 위해 몇 가지 산출물을 요청하여 받은 적이 있으나, 아키텍처가 실제 시스템과 너무 달랐고, 언제, 어떻게 달라졌는지 아는 사람은 아무도 없었던 적도 다반사이기도 합니다.

   

ALM 의 3대 구성 요소를 조직 전반적으로 융합하기 위해서는 ALM 솔루션이 필요합니다. 관리가 어렵고 정확성을 요구하는 ALM 을 좀 더 쉽게 실현할 수 있는 도구가 필요하다는 것입니다. 초기의 ALM 은 마케팅적인 용어로 사용되면서 초기 ALM 솔루션도 매우 난해했습니다. 단순히 이슈 추적 기능과 소스 제어 기능을 합하여 ALM 이라고 하였으며, 어떤 ALM 솔루션은 테스팅 도구만을 통합하여 ALM 솔루션이라고 하기도 하였습니다.

   

그림 2 ALM 의 전체적인 컨셉

   

최근에 ALM 이 정착하는 단계에 들어서면서, 현재의 ALM 과 미래의 ALM 을 분류하기도 합니다. 그리고 아직 이러한 분류 단계는 미성숙한 단계이므로 여러 방면으로 각기 해석을 하고 있습니다. 내용을 정리해 보면 아래와 같이 요약할 수 있습니다.

   

ALM 0.5 (미성숙 단계)

단순히 여러 가지 소프트웨어 개발 도구를 통합한 제품

ALM 1.0

개발 프로세스의 일관성과 소프트웨어 개발 도구를 통합하고, ALM 실현이 가능한 제품

ALM 2.0

다양한 플러그인의 조합 가능하고 크로스 플랫폼 간의 표준적인 방안을 제시.
조직 내부 뿐만 아니라 시장에서의 각종 요구 사항 또는 변화에 대응

표 2 ALM 의 단계별 정의

   

위의 내용으로 볼 때, 앞으로 알아볼 Visual Studio 2010 과 Team Foundation Server 2010 은 이미 ALM 2.0 에 매우 근접해 있습니다. 기본적인 ALM 1.0 요소를 충분히 충족하고 있으며, 각 제품은 확장성이 뛰어나고 다양한 클라이언트를 지원하기 위한 크로스 플랫폼을 실현하였습니다.

   

ALM 의 오해와 진실

ALM 은 아직까지도 많은 오해와 진실 속에 자주 언급되는 용어입니다. 사실 ALM 을 알고 보면 SDLC(Software Development Lifecycle) 처럼 정형화된 어떤 유형의, 또는 무형의 지식으로 갑자기 나타난 기술이 아닙니다. 그리고 무언가를 해결하기 위한 완벽한 솔루션도 아닙니다. 아직도 마치 ALM 에 대해 뜬 구름 잡는 듯한 느낌이 든다면 아래의 몇 가지 질문 답변 형식으로 좀 더 ALM 에 대해 오해와 진실을 이야기 해보도록 하겠습니다.

   

Q: 그럼 도대체 ALM 은 무엇인가요?

A: 마치 Web 1.0 과 Web 2.0 을 비교하는 것과 같습니다. 기존 Web 1.0 은 기업이나 서비스 제공자에 의해 제공되고 그 주체가 바로 기업이나 서비스 제공자였습니다. 하지만 Web 2.0 의 컨셉은 개방, 협력, 참여, 공유라는 요소를 중심으로 차츰 주체가 사용자에게로 이동하는 트랜드화된 용어이기도 합니다. Web 2.0 의 대표적인 것이 바로 UCC 나 위키피디아(Wikipedia) 와 같은 것들이 있습니다.

   

ALM 도 이런 트랜드에 크게 벗어나지 않는 용어입니다 ALM 은 궁극적으로 3대 구성 요소를 쉽게 실현할 수 있도록 하였지만, 이것을 실현하기 위해 설계, 개발, 테스트, 유지 보수 등 개발 조직, 운영 조직, 비즈니스 조직 등 여러 조직간에 의사 소통이나 각 단계별로 독립적인 활동을 유기적으로 통합하고 신뢰할 수 있는 데이터를 제공할 수 있도록 ALM 솔루션은 여러 가지 도구와 연동하거나 통합하고 자동화하였습니다.

   

최종 소프트웨어를 사용할 고객은 품질 좋은 소프트웨어를 사용하길 기대합니다. 요구 사항, 아키텍처, 개발, 테스트, 릴리즈, 유지 및 관리, 추적 등 모든 과정을 ALM 솔루션 안에서 이루어 집니다. 이후에 설명한 Visual Studio 2010 과 Team Foundation Server 2010 을 이용하여 개발 프로세스가 어떻게 개선되고 편리해지며, 어떻게 ALM 을 실현하는지에 대해 천천히 짚고 넘어갈 예정입니다.

   

Q: 그럼 ALM 을 실현하려면 ALM 솔루션이 필요한가요?
A: 아닙니다. ALM 을 실현하기 위해서 반드시 ALM 솔루션이 필요하지 않습니다. 위에서 군대를 예로 든 ALM 의 3대 구성 요소를 설명한 바 있습니다.

   

실제로 여러 프로젝트를 경험하면서 ALM 과 유사한 경험을 많이 해 보았을 것입니다. UML 도구를 사용하고 엑셀로 요구 사항이나 개발 진행 관리, 그리고 엑셀의 함수나 스크립트를 이용하여 보고서를 만들고, 테스트와 테스트 문서 및 코드 리뷰 과정을 수동적으로 한 바 있습니다. 사실 관리적인 부분만 본다면 엑셀만큼 뛰어난 도구도 없을 것입니다.

   

하지만 실제로 수동적인 ALM 실현은 많은 어려움이 따릅니다. 가장 먼저 문서를 매번 업데이트해야 하는 시간적인 문제와 문서의 버저닝(Versioning), 변화에 따른 계획의 수정 및 문서 수정, 테스트를 위한 테스트 케이스 관리 및 테스트 결과 문서화, 그리고 수동적인 코드 리뷰는 사실상 있으나 마나 한 단계이기도 합니다. 특히 반복적인 짧은 릴리즈는 밤을 새게 하는 주요 원인 중의 하나이기도 합니다. 릴리즈 계획도 문제였지만, 버그의 발생은 곧바로 버그의 상황을 문서로 만들어져야 하는 산출물이 되기도 하기 때문입니다.

   

분명 ALM 솔루션은 여러 가지 어려웠던 요소들을 통합하고 자동화하였습니다. 결과적으로 ALM 은 도구가 없이도 가능하지만, 실현하기 위해서 훨씬 많은 노력이 필요하다는 것입니다.

   

Q: 우리 팀은 형상 관리(소스 제어) 만으로도 프로젝트가 잘 됩니다. 과연 ALM 솔루션이 필요한가요?

A: 맞습니다. 현재 자신의 팀이나 조직에서 정형화된 프로세스나 암묵적인 프로세스가 존재하고, 개별적인 문서 관리와 소스 제어만으로 ALM 을 실현할 수 있습니다. 그렇다면 현재 자신의 조직이나 팀은 ALM 레벨은 ALM 0.5 세대에 있다고 보시면 됩니다.

   

소프트웨어의 품질을 높이기 위해서는 많은 노력이 필요합니다. 소스 코드나 문서의 버전 관리, 테스트, 보고서, 빌드, 이슈나 작업의 추적은 한 두 명의 개인이 수행하기는 매우 힘듭니다. 그렇기 때문에 보다 도구를 통합하고 자동화된 솔루션을 통해 ALM 을 수행한다면 훨씬 많은 이점이 있습니다.

   

Q: 그럼 ALM 을 원활하게 수행하기 위해서는 통합된 ALM 솔루션이 필요한가요?

A: 그렇지 않습니다. 현재 소프트웨어를 개발에 필요한 많은 도구들이 오픈 소스 또는 무료로 제공이 되고 있습니다.

   

아래는 오픈 소스 중에 .NET 환경에서 사용할 수 있는 도구들을 정리한 표입니다.

  

Feature

Visual Studio

Team Foundation Server

Open Source

요구 사항 및 변화 관리

요구 사항 관리

이슈 관리

제품 관리

TFS Work Item Tracking

Trac

Trac Explorer

Redmine

설계

모델링

디자인

Visual Studio UML

Objecteering

StarUML

UmlDesigner

구현

개발

Visual Studio

SharpDevelop

MonoDevelop

소스 관리

TFS Source Control

SVN

TortoiseCVS

테스트

단위 테스트

Visual Studio

NUnit

NUnit Addin for Visual Studio

Test Driven.NET

성능 테스트

Visual Studio

FWPTT load testing web applications

NTime

테스트 관리

Visual Studio

Test and Lab Management

?

UI 테스트

Visual Studio

.NET Framework UI Automation Library

Avignon (HTML, Winform Test based java)

지속적인 통합

빌드 자동화

TFS Team Build

NAnt

통합

TFS Source Control

TFS Team Build

CruiseControl.NET

코드 리뷰

코드 인스펙션

Visual Studio

FxCop

StyleCop

코드 메트릭스

Visual Studio

Reflector Addin

코드 커버러지

Visual Studio

NCover

팀 코드 리뷰

Visual Studio

Review Board

SmartBear

프로세스

프로세스 강요

TFS Process Template

?

보고서

SQL Server Reporting Service

?

역할 구분/보안

TFS

?

팀 포털/정보 공유

Sharepoint

FlexWiki

ScrewTurn Wiki

다른 도구와 통합

Microsoft Office

Sharepoint 등

?

확장성

TFS Object Model

Visual Studio Extensibility

?

표 3 Team Foundation Server 와 오픈 소스 기반의 도구를 통한 ALM 도구 비교

   

하지만 오픈 소스를 사용하는 것은 저렴하게 ALM 환경을 갖출 수 있지만, 이음매 없는 매끈한 끈과도 같습니다. 도구들 간에 서로 연관성이 없거나 업그레이드가 되지 않는 것들도 상당히 존재하기 때문입니다. 통합되지 않은 각 도구들은 누가 관리를 할 것이며, 연관성이 없는 각 도구들 간의 프로세스를 어떻게 강요할 것인가도 고민해 보아야 할 부분입니다.

Posted by 땡초 POWERUMC

댓글을 달아 주세요

  1. 머샤머샤 2010.04.13 17:40 Address Modify/Delete Reply

    ALM 0.5, 1.0, 2.0 마치 CMMI Level 1,2,3... 같은 느낌으로 다가옵니다. :)

    0.5 단계라도 효율적으로 잘 사용 하는 팀도 많을것 같습니다만, (중요한건) 모든 개발팀원들이 ALM에 깊은 관심을 가지고 있는 것은 아니고, 팀이 Long-Run하면서 계속 느낌을 유지하는 것도 쉬운일은 아니기 때문에, TFS처럼 잘 짜여진 시스템으로 잘 세팅해 두면 정말 좋겠지요.

    물론, TFS를 유지하기 위한 팀의 노력은 계속되어야 하겠지만 말입니다.

    • 땡초 POWERUMC 2010.04.13 21:20 신고 Address Modify/Delete

      좋은 의견입니다.
      저 또한 머샤님과 크게 생각이 다르지 않습니다.
      다만, ALM 0.5 세대는 단순히 통합을 위한 의지이지,
      어떠한 가치있는 활동을 위해 ALM 1.0 보다 힘들거라는 생각입니다.
      말씀대로 어떤 것을 선택하셔도 유지 관리하기 위한 노력은 필요합니다.

Team Foundation Server 2010 은 많은 부분 획기적인 변화를 가져왔습니다. 기능적인 부분은 더할 나위 없거니와 관리적인 부분은 이전 버전을 운용해 보신 분이라면 과히 편해졌다고 할 수 있습니다. AT(Application Tier) 와 DT(Database Tier) 전반적인 부분에 걸쳐 한 자리에서 관리적인 부분을 모두 커버할 수 있기 때문입니다.

하지만, Team Foundation Server 2010 의 새로운 기능 중의 Test & Lab 부분이 상당히 강력해졌지만, 새로운 플랫폼과의 결합과 새로운 개념 등으로 환경 구축이 쉽지만은 않습니다. 필자도 이러한 부분에서 많은 부분 시행 착오를 겪으며 정리한 내용을 공유하고자 합니다.

Team Foundation 의 운용을 어렵게만 느끼지 마시고, 문제가 발생하면 바로 아래의 링크를 통해서 확인해 보는 것도 좋은 방법일 것 같습니다.^^

이 문서는 지속적으로 업데이트 될 예정입니다.

마지막 업데이트 : 2010-04-06

   

Test & Lab Manager

[HowTo] 가상 Lab 환경의 가상 머신 시작하기
[HowTo] Lab Manager 환경 구성 중 TF260078 오류 해결하기
[HowTo] 가상 Lab 배포 중 오류 해결하기 TF259115
[HowTo] Lab Manager 에서 가상 Lab 환경 만들기

   

Visual Studio 2010

[HowTo] Work Item 쿼리를 Excel 로 내보내기 할 수 없는 경우 TF80012 에러

   

Team Foundation Server 2010

[HowTo] Team Foundation Server 2010 FQDN 설정 방법
[HowTo] TFS 설치 중 Reporting Services 관련 오류 Error 28805
[HowTo] Team Project Collection 옮기거나 복원하기 TF246081
[HowTo] TFS 2005/2008 데이터베이스를 TFS 2010 으로 마이그레이션
[HowTo] Team Project Collection 이름 변경하기

   

System Center Virtual Machine Manager

[HowTo] SCVMM 에서 암호화된 파일 전송을 사용하지 않으려면?
[HowTo] SCVMM 라이브러리 템플릿 만들기
[HowTo] SCVMM 의 라이브러리 템플릿 배포 작업이 무한 대기할 경우

   

Posted by 땡초 POWERUMC

댓글을 달아 주세요

문제

Visual Studio 2010 을 설치하면 기본 요소로 Team Explorer 가 설치가 됩니다. 간혈적으로 Work Items 을 Excel Export 할 경우 아래와 같은 오류가 나타납니다.

TF80012 에러가 아래와 같이 나타납니다.

이 경우, Visual Studio for Office Runtime 을 재설치해도 문제가 해결되지 않습니다.

   

해결 방법

엑셀에서 리본 클릭->엑셀 옵션->추가 기능->관리->COM 추가 기능->이동 버튼

기존의 Team Foundation Add-in COM 추가 기능 모두 제거합니다.

추가 버튼을 클릭합니다.

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\TFSOfficeAdd-in.dll 을 추가한다.

엑셀에서 정상적으로 Team 메뉴가 나타나고, Visual Studio 2010 의 Team Explorer 에서 Work Items 을 Excel 로 내보내기를 수행합니다.. 이제 정상적으로 Excel Export 가 동작합니다.

Posted by 땡초 POWERUMC

댓글을 달아 주세요

배포 또는 구성된 가상 Lab 환경을 시작하고 사용하는 방법입니다.

가상 머신 시작하기

   

가상 머신이 시작하는 중

   

가상 머신이 시작 된 모습.

   

   

가상 머신 연결하기

   

가상 Lab 환경에 연결하면 새로운 원격 제어 창이 뜬다. 이 창은 가상 머신을 원격 제어할 수 있는 Microsoft Environment Viewer 창이다.

   

사용 중인 가상 머신은 Marking 을 하여 다른 사람이 볼 수 있도록 할 수 있다.

   

Mark 를 'In Use' 로 설정하면 Lab Center 에서는 사용중이라는 표시가 뜨므로, 공동 작업에 유용할 것이다.

   

Snapshot 을 통해 특정 지점의 상태를 저장하고, 언제든지 이전 또는 이후의 Snapshot 으로 이동할 수 있다.

Posted by 땡초 POWERUMC

댓글을 달아 주세요

1. SharePoint

SharePoint Central Administration 관리자 사이트에 접속합니다.
Application Management 탭에서 Configure alternate access mappings 를 클릭합니다.

   

Edit Public URLs 를 클릭합니다.

   

Alternate Access Mapping Collection 에서 Change Alternate Access Mapping Collection 을 선택합니다.

   

SharePoint - 80 을 선택합니다.

   

Internet 입력 상자에 http://tfs2010.powerumc.kr 을 입력하고, Save 버튼을 클릭합니다.

   

2. Reporting Services

시작-Microsoft SQL Server 2008-구성 도구-Reporting Services 구성 관리자를 클릭합니다.

   

웹 서비스 URL 탭으로 이동한 후, 고급 버튼을 클릭합니다.

   

추가 버튼을 클릭합니다.

   

Reporting Services 보고서 사이트의 호스트 헤더 이름을 입력하고 확인 버튼을 클릭합니다.

   

보고서 서버 웹 서비스의 URL 이 추가된 것을 확인합니다.


3. SharePoint - Team Foundation Server 설정 변경

Team Foundation 이 설치된 서버에서 시작-Microsoft Team Foundation Server 2010-Team Foundation Administration Console 을 실행합니다.

 

Application Tier-SharePoint Web Applications 탭에서 SharePoint 웹 응용 프로그램을 선택하고 Change 버튼을 클릭합니다.

   

General 탭에서 Web Application URL 을 Public URL 로 변경한 후, OK 버튼을 클릭합니다.

   

4. Reporting Services - Team Foundation Server 설정 변경

Team Foundation 이 설치된 서버에서 시작-Microsoft Team Foundation Server 2010-Team Foundation Administration Console 을 실행합니다.

   

Application Tier-Reporting 탭으로 이동한 후, Edit 버튼을 클릭합니다.

   

Edit 버튼을 클릭한 경우, 아래의 대화 상자가 나타나면 OK 버튼을 클릭합니다.

   

Reports 탭으로 이동한 후, Web Service 주소를 Public URL 로 변경합니다. URL 이 변경되면 Account for accessing data sources 의 Password 항목을 다시 입력하고, OK 버튼을 클릭합니다.

   

정보의 입력이 정상적으로 완료되었으면, Start Jobs 버튼을 클릭합니다.

   

다시 Reporting Services 를 시작합니다.

   

   

5. 설정 완료

모든 구성이 완료되었으면, 원격 머신에서 Visual Studio 2010에서 Team Foundation 로 연결합니다.
문서 항목과 보고서 항목이 올바르게 Public URL 로 변경되었습니다.

   

   

Posted by 땡초 POWERUMC

댓글을 달아 주세요

문제

가상 랩 환경을 배포하는 중 TF259115 오류가 발생하면서 배포 할 수 없는 경우입니다.

 

1. DNS 설정 문제

TFS Admin Console 의 Lab Management 설정의 Network Location 문제입니다.

이러한 경우 대부분 DNS 상의 설정 문제입니다.

   

역시 DNS 상에 호스트 IP 가 잘못 설정되어 있었습니다.

 

2. VMM 템플릿에 네트워크 위치 설정

VMM 템플릿에 네트워크 어뎁터가 구성이 되지 않아 발생하는 문제입니다.
http://blogs.technet.com/chengw/archive/2009/05/08/vmm-network-location-and-network-tag.aspx
http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/01/27/so-you-want-to-demo-vs2010-lab-manager.aspx

이 설정이 정상적이지 않으면, 루프백(loopback) 현상이 발생한다고 합니다.

VMM 의 호스트 탭에서 속성(Properties) 를 클릭합니다.

하드웨어 탭에서 "검색된 네트워크 위치 다시 정의(Override discovered network location)" 을 클릭하고, 새로운 네트워크 이름을 입력합니다.

그리고 "네트워크" 탭으로 이동하여 새로운 가상 네트워크를 추가합니다.

아래와 같이 가상 네트워크 이름을 입력하고, 태그로 반드시 함께 입력해 주자.

다시 라이브러리의 템플릿의 하드웨어 구성 탭에서 이전에 지정한 네트워크 이름과 태그를 지정해 줍니다.

TFS Admin Console 의 Application Tier 의 Lab Management 탭으로 이동하고, Reconfigure Lab Management 를 클릭하여 Lab 환경을 다시 설정합니다.

Virtual Machine Manager 탭에서 아래와 같이 Protected Network 를 선택합니다.

이제 Team Project Collections 에서 Configure Host Groups 를 클릭합니다.

Verify 를 클릭하여 점검이 통과하는지 확인합니다.

   

Posted by 땡초 POWERUMC

댓글을 달아 주세요

문제

다음은 Team Foundation Console 에서 Lab Management 환경을 구성하는 중, TF260078 오류가 발생하는 문제의 해결 방법입니다.

1. Lab 관리자의 계정을 Administrator 로 변경

Configure Lab Management 에서 서버를 등록할 때, SCVMM 서버에서 TFSService 계정이 로컬 Administrators 그룹으로 등록한다. 그리고 SCVMM 의 관리자 계정으로 등록을 한다.

 

2. Team Foundation 서비스 계정 변경(TFSService)

TFS Admin Console 에서 Application Tier 의 TFSSERVICE 계정을 Change Account 를 눌러서 다른 Admin 레벨의 계정으로 바꾸어 준다. 필자는 POWERUMC\Administrator 계정으로 변경하였다.

   

   

   

그 이후에, Configure Lab Management 의 SCVMM Server Name 의 Test 가 통과되는 것을 볼 수 있다.

  

Posted by 땡초 POWERUMC

댓글을 달아 주세요

암호화된 파일 전송은 가상 머신의 배포 또는 템플릿 만들기, 배포 작업을 하기 위해 네트워크 트래픽이 증가하고 작업의 성능이 떨어질 수 있습니다. 암호화된 파일 전송을 사용하지 않으려면 아래의 단계를 수행해야 합니다.

Hosts 또는 Virtual Machines 탭으로 이동합니다. 암호화 전송을 사용하지 않은 Hosts 또는 Virtual Machine 을 선택한 후 마우스 오른쪽 버튼을 클릭하고 Properties 메뉴를 클릭합니다.

   

General 탭의 'Allow unencrypted file transfers' 항목의 체크를 해지하고, OK 버튼을 클릭합니다.

Posted by 땡초 POWERUMC

댓글을 달아 주세요

문제

Team Foundation Server 설치 또는 구성 중에 Reporting Services 와 관련한 Error 28805 오류 해결 방법입니다.

Error 28805 Setup cannot finish the request to the SQL Server 2005 Reporting Service report server. Verify that the report server is installed and running, and that you have sufficient privledges to access it.

   

해결 방법

Rsreportserver.config 파일에서 SecureConnectionLevel = 0 으로 변경한다

Posted by 땡초 POWERUMC

댓글을 달아 주세요

참고 URL

http://technet.microsoft.com/en-us/library/bb963734.aspx

SCVMM(System Center Virtual Machine Manager) 를 이용하여 Library Template 을 만드는 방법입니다.

   

1. 가상 컴퓨터의 속성을 선택하여 '새 템플릿'을 선택한다.

   

2. 아래의 경고를 읽고 '예' 를 클릭한다. (단, 가상 이미지를 Library Template 으로 만들 경우 기존의 가상 이미지를 사용할 수 없습니다)

   

3. 템플릿 마법사에서 템플릿의 이름을 입력하고 다음을 클릭한다.

   

4. 하드웨어 프로필을 입력한다. 새로운 프로필을 만들려면, "[새로 만들기]" 를 클릭한다.

   

5. Library Template 으로 배포할 때 가상 머신의 암호를 입력한다.

   

6. Library Template 을 배치할 서버를 선택한다.

   

6. '찾아보기' 를 클릭하고 가상 컴퓨터의 경로를 선택한다.

   

6. 경로를 선택한 후 '확인' 을 클릭한다.

   

6. '만들기' 버튼을 클릭하면, 가상 머신이 Library Template 으로 변환이 된다.

   

6. Library Template 을 만드는 작업을 시작한다. 모든 작업이 완료되는 것을 확인한다.

Posted by 땡초 POWERUMC

댓글을 달아 주세요

Team Foundation Server Lab Manager 통해 가상 Lab 환경을 구축하는 서버 논리 또는 물리 구조입니다.

다음은 Lab Manager 통해 가상 Lab 환경을 구축하는 순서를 이미지로 캡춰하였습니다. 아래의 이미지는 저희 회사에서 Team Foundation Server 관련하여 가이드 문서를 조만간에 제공할 예정입니다. ^^


   

   

   

   

   

   

   

   

   

   

    

   

Add to environment 를 클릭하여 원하는 클라이언트 대수를 배치한다.

   

마찬가지로 각각의 머신 별로 메모리나 OS 설정을 한다.

   


   

   

아래와 같이 가상 환경이 설정되었고, 가상 환경이 만들어 지고 있습니다.

   

SCVMM 서버에서는 아래와 같은 가상 머신을 생성하는 작업이 진행됩니다. SCVMM Admin Console 을 통해 확인할 수 있습니다.

   

이후 템플릿이 각 호스트로 배포가 완료됩니다.

  

Posted by 땡초 POWERUMC

댓글을 달아 주세요

Team Project Collection 을 다른 물리적인 환경으로 옮기는 방법입니다. 또는, 다른 물리적인 환경의 Team Project Collection 을 복원하는 방법입니다.

사실 TF246081 과 관련된 TFS 오류는 구글신도 모르는 오류이기 때문에, 개인적으로 꽤 잔머리를 굴려서 해결한 방법이랍니다.

1. 기존 Team Project Collection 을 반드시 Detach 한다.

   

2. 옮기려는 Team Project Collection 의 SQL 서비스를 중지하고, MDF, LDF 파일을 옮기려는 서버로 복사한다.

   

3. 옮기려는 SQL 서버에서 데이터베이스를 연결한다.

   

4. 데이터베이스의 이름 SSMS(SQL Server Management Studio) 에서 변경한다.

   

5. 데이터베이스의 속성에서 파일의 '논리적 이름' 을 Tfs_컬렉션이름 으로 변경한다.

   

6. TFS 2010 Application Tire 에서 Attach Collection 을 클릭하여 데이터베이스의 '서버\인스턴스'를 입력하면 정상적으로 목록이 출력된다.

   

Posted by 땡초 POWERUMC

댓글을 달아 주세요

이미 생성된 Team Project Collection 의 이름을 변경하는 방법입니다.

1. Project Collection 의 General 에서 Stop Collection 버튼을 클릭하여 연결을 해제합니다.

2. Edit Settings 를 클릭합니다.

3. 변경할 Collection Name 을 입력한다.

4. Start Collection 을 클릭하여 변경된 이름의 Project Collection 을 시작한다.

   

Posted by 땡초 POWERUMC

댓글을 달아 주세요

Team Foundation Server 2010 서비스를 운영하고 관리하는 기능이 기존의 버전보다 크게 향상이 되었습니다. 물론 TFS 2010 에 대한 것에 한정해서 말입니다. 그러나 Test & Lab 과 관련하여 아직 많은 이슈가 존재하긴 합니다.

어쨌든 TFS 2005/2008 버전의 데이터베이스를 업그레이드 하는 방법이 많이 쉬워졌네요.


1. 백업 받은 TFS 2005/2008 데이터베이스를 복원한다.
(, TfsWarehouse 데이터베이스는 필요가 없다)

2. 데이터베이스에 TFSSSERVICE 계정에 권한을 가지고 있어야 한다. 만약 다른 도메인 컨트롤러나 SID 계정인 경우 수동으로 권한을 등록해야 합니다.

3. %Program Files%\Microsoft Team Foundation Server 2010\Tools 폴더로 이동한다.

4. tfsconfig 명령 도구를 이용한다.
SQL Instance 와 New Project Collection 을 입력한다. /Confirmed 는 새로운 Project Collection 이 생성된 후에, 기존 TFS 2008 데이터베이스를 삭제한다.

TFS 2010 의 새로운 Project Collection 에 이전 TFS2008 데이터를 Importing 하는 모습이다

TFS 2008 데이터베이스 Importing 이 완료되었다.

5. Importing 이 완료되면 새로운 Project Collection 이 생성된 것을 볼 수 있다.

   

Posted by 땡초 POWERUMC

댓글을 달아 주세요

Team Foundation Server 2010 은 기존의 2008 버전에 비해 굉장히 설치가 간단해 졌습니다.  

사실 설치과 구성 패키지 자체는 TFS 2008 이 간단하긴 했지만, 구성이 올바르게 완료되어야만 설치가 가능했었습니다. 이런 문제로 인해서 초기 설정이 유효하지 않을 경우 설치를 완료한들 다시 제거를 하고 재설정을 했던 경우가 많았습니다. 그리고 TFS 2008 에서는 설정 정보가 IIS 의 TFS Web Service 의 web.config 와 데이터베이스의 특정 필드를 직정 수정해야 하는 관리상의 불편함이 많았습니다.

하지만 이번 Team Foundation Server 2010 는 이런 면에서 초기 설치 단계에서 구성하는 단계까지 많이 편리해졌습니다. 설치와 구성을 따로 따로 하도록 말이죠.  

아래는 Team Foundation Server 2010 을 설치하고, Team Foundation Server Administration Console 을 이용하여 TFS 환경을 구성하는 방법입니다. 

아래의 설치 과정은 3-tier 로 구성된 서버에 TFS 2010 을 설치하는 단계입니다.

  • 서버 1 : Active Directory, DNS 서버
  • 서버 2 : MSSQL 2008
  • 서버 3 : Team Foundation Server 2010

   

Team Foundation Server Administrator Console 을 실행하여 Configure Installed Features 를 클릭합니다.

   

다중 Tier 환경으로 설치할 예정이므로, Advanced 를 선택하고 Start Wizard 를 클릭합니다.

   

Wizard 안내 페이지입니다. 그냥 다음으로 넘어 갑니다.

   

SQL Server 의 인스턴스를 입력하고 Test 를 클릭합니다. 인스턴스가 유효하면 푸른색 V 표시가 나타나고, 다음으로 넘어 갑니다.

   

Service Account 계정을 입력하고 Test 를 클릭해보고, 계정이 유효하면 다음으로 넘어갑니다.

   

Team Foundation Server 2010 의 웹 서비스의 설정을 합니다. 그냥 기본 구성 그대로 다음으로 넘어갑니다.

   

보고서를 구성하는 페이지의 안내입니다. 필자는 보고서를 구성할 것이므로, Configure Reporting for use with Team Foundation Server 항목 체크 박스를 체크 한 후에 다음으로 넘어갑니다.

   

Reporting Service 인스턴스를 입력하고 Populate URLs 를 클릭하면 유효한 보고서 서비스를 찾아줍니다. 그리고 다음으로 넘어갑니다.

   

TFS Report 서비스의 실행 계정을 지정해 줍니다. 필자는 기본 계정인 NETWORK SERVICE 계정을 사용합니다.

   

아래는 Sharepoint 를 설치를 안내하는 페이지 입니다. 다음으로 넘어갑니다.

   

Sharepoint 서버의 계정을 입력하고 Test 를 클릭하여 유효성을 검사합니다. 그리고 다음으로 넘어갑니다.

   

기본적으로 Team Project Collection 이 체크되어 있습니다. 그대로 다음으로 넘어갑니다.

   

모든 설정이 완료 되었습니다. Verify 를 클릭하여 최종 점검을 진행합니다.

   

Verify 결과가 양호할 경우 설치를 진행하도록 합니다. Configure 를 클릭하여 설치를 진행합니다.

   

아래는 Team Foundation Server 2010 이 설치가 완료되었습니다.

   

   

이제 설치가 완료되었고, Team Foundation Server 관리를 위하여 관리 권한을 지정합니다.

Application Tier 의 Administer Group Membership 을 클릭합니다.

   

Team Foundation Administrators 그룹을 더블 클릭(또는 Properties 클릭) 하고, 관리자 계정을 지정해 줍니다.

   

   

이제 모든 설치와 구성을 마쳤습니다. 아래의 그림은 Visual Studio 2010 으로 Team Foundation Server 2010 에 연결된 모습입니다.

   

Posted by 땡초 POWERUMC

댓글을 달아 주세요

  1. 멘티돕스 2010.03.02 16:08 Address Modify/Delete Reply

    Active Directory 없이는 사용이 불가능 한건가요? 큰 규모가 아니라면 Active Directory 까지 사용하지 않는데가 더 많지 않나요?

    • 땡초 POWERUMC 2010.03.02 17:38 신고 Address Modify/Delete

      AD 없이도 설치할 수 있어요.
      단일 서버의 서버 사양만 된다면 메뉴얼상 2,200~3,600 명까지 수용할 수 있어요^^

      대신, Lab 기능을 사용하시려면 반드시 AD 가 설치가 되어있어야 합니다.

  2. 김종훈 2010.07.23 17:20 Address Modify/Delete Reply

    현재 SQL 2005 std, TFS2010을 설치했습니다.

    TF255186 : The following SQL Server reporting services instance could not be found : MSSQLSERVER... : the server name is TEST_SVR

    * SQL 서버이름 : TEST_SVR => Window인증 + Reporting service 로 로그인하면 성공합니다.

    sql이 지원을 못하는건지.. 감을 못잡겠습니다.

Configure Team Foundation Build Service 에서 Start Wizard 를 클릭합니다.

   

아래는 Build Service 설치 안내 페이지 입니다. 다음을 클릭합니다.

   

Team Build 를 수행한 Team Project Collection 을 지정해야 합니다. Browser 를 클릭하여 Team Project Collection 을 선택합니다. 만약 Team Foundation Server 와 연결되지 않은 상태일 경우 Team Foundation Server 와 연결해야 합니다.

   

   

기본 설정대로 Recommended 를 선택하고 다음을 클릭합니다.

   

Team Build 를 수행할 계정과 포트를 입력합니다. 필자는 TFSBUILD 계정으로 사용하였고, 환경에 따라 NETWORK SERVICE 등으로 사용하셔도 됩니다.

   

모든 설정이 완료 되었고, Verify 를 클릭하여 Team Build 환경을 점검합니다.

   

모든 점검이 완료되면, Configure 를 클릭하여 설치를 진행합니다.

   

아래는 Team Foundation Build Service 설치가 완료된 화면입니다.

   

   

Posted by 땡초 POWERUMC

댓글을 달아 주세요

설치 과정 중에 TF255040 문제

Team Foundation Server 2010 을 설치하는 중 TF255040 오류가 발생하였습니다. 아래의 그림과 같이 SQL Server 의 Reporting Services 와 관련된 컴포넌트가 설치 되지 않았다는 오류입니다. 훔...

SQL Server Analysis Services 인스턴스를 찾지 못한다는 오류 메시지가 나타납니다.

 

TFS 설치 오류 로그를 자세히 보면 아래와 같이 문제 지점의 예외 메시지를 찾을 수 없습니다.

[Error @12:07:34.650] Microsoft.TeamFoundation.Admin.TfsAdminException: TF255040: Install SQL Server Reporting Services or at a minimum SQL Client Connectivity Tools on the application tier to ensure Analysis Services object model is present for warehouse processing. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.AnalysisServices, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. 지정된 파일을 찾을 수 없습니다.

at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)

at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)

at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks)

at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)

at System.Reflection.Assembly.Load(String assemblyString)

at Microsoft.TeamFoundation.Admin.UIHelper.CheckAnalysisInstanceLoad(String analysisInstance)

--- End of inner exception stack trace ---

at Microsoft.TeamFoundation.Admin.UIHelper.CheckAnalysisInstanceLoad(String analysisInstance)

at Microsoft.TeamFoundation.Management.Controls.WizardCommon.ServerTestControl.m_testWorker_DoWork(Object sender, DoWorkEventArgs e)

at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)

at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)


그래서 Microsoft.AnalysisServices, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 어셈블리가 GAC 등록이 되어 있는지 확인을 보았습니다. 역시나 문제는 위의 어셈블리가 설치가 되지 않아서 발생한 문제입니다.

      

TF255040 오류 문제 해결하기

해결 방법은 가지가 있습니다. 중에 번째 방법을 추천 드립니다.

왜냐하면 SQL Express 버전을 설치하면 되지만, 결국 SQL Server 인스턴스를 만들어야 하기 때문에 왠지 TFS 전용 서버의 순결함을 잃는 하군요.. 사용하지도 않을 SQLEXPRESS 라는 반갑지 않은 인스턴스와 말이죠. 번째 SQL Server 2008 Feature Pack SQL Server 구성 요소 일부만 설치할 있습니다. 제가 필요로 하는 Analysis Service 관련 어셈블리만 설치되도록 설치 패키지를 제공해 주고 있습니다.

  • 그럼 Microsoft SQL 2008 관련 구성 요소를 설치해 주어야 하는데, 아래의 주소에서 기본적인 클라이언트가 설치되도록 합니다. 근데 Management Studio Express 설치하게 되면 SQLEXPRESS 라고 하는 인스턴스가 설치가 되는데 Team Foundation Server Application Tier SQLEXPRESS 인스턴스가 그다지 필요해 보이지도 않고, 설치 시간도 오래걸리고요.

  • 위의 방법은 Analysis Services Object 어셈블리만 설치하는 방법입니다. HTML 페이지가 다운로드 되면 HTML 파일을 열어봅니다. 다운로드 가능한 여러 가지 목록 중에 아래 Analysis Services Object 골라서 다운로드 하시는 것이 좋겠죠?

       

아래를 설치하고 Team Foundation Administrator Console 다시 실행해 주시면 아래의 그림과 같이 정상적으로 SQL Server Analysis Services 접근할 있습니다.

   

Posted by 땡초 POWERUMC

댓글을 달아 주세요