태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

TFS Tips2015.03.16 16:23

DIM definition As [Byte]() = Nothing
DIM warnings As Warning() = Nothing

Public Sub Main()
 Try
  DIM stream As FileStream = File.OpenRead(FILEPATH + REPORTNAME + ".rdl")
  definition = New [Byte](stream.Length - 1) {}
  stream.Read(definition, 0, CInt(stream.Length))
  stream.Close()
    Catch e As IOException
        Console.WriteLine(e.Message)
    End Try

    Try
        rs.CreateCatalogItem("Report", REPORTNAME, REPORTSERVER_FOLDER, True, definition, Nothing, warnings)

        If Not (warnings Is Nothing) Then
            Dim warning As Warning
   
            For Each warning In warnings
                Console.WriteLine(warning.Message)
            Next warning
        Else
            Console.WriteLine("Report: {0} uploaded successfully to {1} with no warnings", REPORTNAME, REPORTSERVER_FOLDER)
        End If
    Catch e As Exception
        Console.WriteLine(e.Message)
    End Try
 End Sub

 

Posted by webmars
TFS Tips2015.01.14 13:32

로컬 PC에 Visual Studio(또는 팀 탐색기)와 MS Excel, MS Project를 같이 설치하면 메뉴에 '팀' 메뉴가 추가됩니다.

그런데, 설치 순서에 따라 '팀' 메뉴가 보이지 않는 경우가 있습니다.

일반적으로 MS Excel, MS Project를 나중에 설치할 경우 '팀' 메뉴가 보이지 않는데요.

이 경우에는 다음과 같이 '팀' 메뉴를 추가할 수 있습니다.

 

  1. Excel에서 '파일 > 옵션'을 차례로 선택합니다.
  2. 'Excel 옵션' 창에서 '추가 기능'을 선택합니다.
  3. 아래 관리 목록에서 'COM 추가 기능'을 선택합니다.
  4. '이동' 버튼을 클릭합니다.
  5. 'COM 추가 기능' 대화 상자에서 'Team Foundation Add-in' 항목을 선택합니다.
  6. '확인' 버튼을 클릭합니다.

 

이와 같이 하면 MS Excel메뉴에 '팀' 메뉴가 표시됩니다.

MS Project에서도 동일한 방법으로 '팀' 메뉴를 추가할 수 있습니다.

 

감사합니다.

webmars.

 

 

 

 

Posted by webmars
TFS Tips2010.01.08 18:26

최근에 진행했던 ALM 구축 프로젝트에서 있었던 일입니다. 테스트를 위해 TFS에 많은 작업 항목을 추가했었습니다. 그리고, 테스트 후에 필요없는 작업 항목을 TFS Power Tool의 "tfpt destroywi" 명령어를 사용하여 제거했습니다. 그리고, 데이터 웨어하우스를 강제로 동기화했습니다.
당연히, 제거된 작업 항목들은 팀 탐색기나 웹 액세스에서 작업 항목 쿼리로 조회하면 나타나지 않았습니다. 그런데, TFS 보고서를 조회하는데 작업 항목 개수에는 변화가 없는 겁니다. 제거한 작업 항목 수만큼 줄어 들 줄 알았는데요.

그것은 아마도, 데이터 웨어하우스 동기화가 새로 추가된 작업 항목이나 필드 값이 변경된 작업 항목만 동기화를 하고, 제거된 작업 항목은 동기화를 하지 않기 때문인 것 같았습니다 (사실 그게 맞고요). 그래서, TFS 큐브를 다시 빌드하기로 결정했습니다.

다음은 제거한 작업 항목을 데이터 웨어하우스에 반영하기 위한 TFS 큐브를 다시 만드는 과정을 정리한 것입니다. 작업 항목이 제거될 경우 데이터 웨어하우스와 동기화되지 않는 것도 같이 보여드리겠습니다.

1.      현재 AnyTest 팀 프로젝트에는 15의 작업 항목이 있습니다.



2.      남은 작업 보고서를 보면 15개의 작업 항목이 활성화된 상태로 계속 유지되고 있습니다.



3.      이제, 작업 항목 중 ID 6, 7, 8인 작업 항목의 상태를 닫힘으로 변경한 후 저장합니다.



4.      그리고, 작업 항목 중 ID 1, 2, 3, 4, 5인 작업 항목을 제거 (destroy)합니다.

A.     명령 프롬프트 실행

B.      C:\Program Files\Microsoft Team Foundation Server 2008 Power Tools 로 이동

C.      tfpt destroywi /server:<tfs server 이름> /workitemid:1,2,3,4,5 입력 후, 엔터



5.      데이터 웨어하우스를 강제로 동기화합니다.

A.     TFS 응용 프로그램 계층 (application tier)에 로그인합니다.

B.      Internet Explorer를 열고 주소 표시줄에 다음 문자열을 입력한 다음 엔터를 누릅니다

                                       i.         http://localhost:8080/Warehouse/v1.0/warehousecontroller.asmx



C.      GetWarehouseStatus를 클릭한 다음 호출을 클릭합니다.

D.     중요: Idle 값이 반환되어야 합니다. 만약, 다른 값이 반환되면 Idle 값이 반환될 때까지 이 단계를 반복해야 합니다.

E.      ControllerService 페이지로 돌아와 Run을 클릭한 다음 호출을 클릭합니다.

F.      ControllerService 페이지로 돌아가 GetWarehouseStatus를 클릭하고 호출을 클릭합니다. 이 서비스는 다음과 같은 상태 값을 반환합니다.

                                      i.         RunningAdapters: 스키마 수정 사항을 처리 중이거나 데이터 풀링 중

                                     ii.         ProcessingOlap: 스키마 수정 사항 또는 큐브 처리 중

                                     iii.         Idle: 처리가 완료됨 (GetWarehouseStatus 에서 Idle 값을 반환하면 큐브 처리가 완료된 것입니다.)

6.      팀 탐색기에서 작업 항목이 제거된 것을 확인합니다.



7.      남은 작업 보고서를 보면 활성화된 작업 항목이 12개로 줄고, 닫힌 작업 항목이 3개 늘어난 것을 확인할 수 있습니다. 그러나, 전체 작업 항목 개수는 여전히 15개입니다.



관계형 데이터베이스의 작업항목 개수와 데이터 웨어하우스의 작업항목 개수를 일치시키려면, 큐브를 다시 만들어야 합니다.

 

8.      다음 서비스를 중지시킵니다.

A.     SQL Server Reporting Services

B.      Visual Studio Team Foundation Server Task Scheduler

C.      ReportServer 응용 프로그램 풀 (SQL Server 2005)


9.      데이터 계층 서버에서 SQL Server에 대해 TCP/IP가 사용되도록 설정되었는지 확인합니다.

A.     확인 방법은 를 참조하세요.

10.   명령 프롬프트를 열고 다음 디렉터리로 이동합니다.

A.     C:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools

11.   다음 명령을 입력합니다.

A.     SetupWarehouse.exe -rebuild –s DataTierServerName -d TFSWarehouse -c warehouseschema.xml -ra Domain\TFSReportServiceAccount -a Domain\TFSServiceAccount -mturl http://ApplicationTierServerName:Port -l LogFileName

B.      : TFS 서버 명이 TfsEdu이고, Report Service TFS Service 계정이 모두 TfsService일 경우,

                         i.         SetupWarehouse.exe -rebuild –s TfsEdu -d TFSWarehouse -c warehouseschema.xml -ra TfsEdu\TfsService -a TfsEdu\TfsService -mturl http://TfsEdu:8080 -l CubeRebuild.log

12.   명령이 완료될 때까지 기다립니다.


13.   명령이 완료되면 데이터 웨어하우스를 강제로 동기화합니다.

A.     TFS 응용 프로그램 계층 (application tier)에 로그인합니다.

B.      Internet Explorer를 열고 주소 표시줄에 다음 문자열을 입력한 다음 엔터를 누릅니다

                         i.         http://localhost:8080/Warehouse/v1.0/warehousecontroller.asmx

C.      GetWarehouseStatus를 클릭한 다음 호출을 클릭합니다.

D.     중요: Idle 값이 반환되어야 합니다. 만약, 다른 값이 반환되면 Idle 값이 반환될 때까지 이 단계를 반복해야 합니다.

E.      ControllerService 페이지로 돌아와 Run을 클릭한 다음 호출을 클릭합니다.
 (데이터가 많을 경우, 이 과정에서 시간이 오래 걸릴 수 있습니다.)

F.      ControllerService 페이지로 돌아가 GetWarehouseStatus를 클릭하고 호출을 클릭합니다. 이 서비스는 다음과 같은 상태 값을 반환합니다.

                         i.          RunningAdapters: 스키마 수정 사항을 처리 중이거나 데이터 풀링 중

                        ii.         ProcessingOlap: 스키마 수정 사항 또는 큐브 처리 중

                       iii.         Idle: 처리가 완료됨 (GetWarehouseStatus 에서 Idle 값을 반환하면 큐브 처리가 완료된 것입니다.)

14.   중지시켰던 서비스를 다시 시작시킵니다.

A.     SQL Server Reporting Services

B.      Visual Studio Team Foundation Server Task Scheduler

C.      ReportServer 응용 프로그램 풀 (SQL Server 2005)

15.   Internet Explorer를 열고 주소 표시줄에 다음 문자열을 입력한 다음 엔터를 누릅니다.

A.     http://localhost/Reports

16.   이제 남은 작업 보고서를 보면 전체 작업 항목 개수가 10개로 줄어든 것을 확인할 수 있습니다.


지금까지 제거한 작업 항목을 데이터 웨어하우스에 반영시키는 방법에 대해 알아봤습니다.

감사합니다.

webmars.

Posted by webmars
TFS Tips2010.01.07 15:46

TFS를 운영하다 보면 한 명의 사용자를 여러 팀 프로젝트의 여러 TFS 그룹에 추가하기도 합니다. 그렇게 하다 보면, 나중에 그 사용자가 어느 팀 프로젝트의 어느 TFS 그룹에 속해 있는지 궁금할 때가 있습니다. 또는, 어느 사용자가 자신을 특정 TFS 그룹에 포함을 시켜달라고 요청을 할 경우, 그 사용자가 현재 그 TFS 그룹에 속해 있는지, 아니면 속해 있지 않은지 확인을 해야 할 때가 있습니다.

이럴 경우에는 다음의 명령어를 사용하여 해당 사용자가 어느 팀 프로젝트의 어느 TFS 그룹에 속해 있는지 조회할 수 있습니다.

TFSSecurity /server:<name> /imx <identity>
  • <name> TFS 이름입니다.
  • <identity> TFS 사용자 ID입니다.
위 명령어의 사용 예를 보겠습니다.

TFS 이름은 webmars-win2008이고, 사용자 ID는 webmars입니다.


webmars 사용자는 Team Foundation Administrators, MyWork 팀 프로젝트의 Project Administrators, AnyTest 팀 프로젝트의 Project Administrators 등의 멤버임을 확인할 수 있습니다.

그룹 멤버 앞의 [G], [A] 등의 의미는 다음과 같습니다.
  • [U] - Windows 사용자
  • [G] - Windows 그룹
  • [A] - TFS 응용 프로그램 그룹
  • a [A] - 관리 응용 프로그램 그룹
  • e [A] - Everyone 응용 프로그램 그룹
  • s [A] - 서비스 응용 프로그램 그룹
  • [X] - 잘못된 ID
  • [?] - 알 수 없는 ID 형식
감사합니다.

webmars.
Posted by webmars
TAG TFS, TFS그룹