태터데스크 관리자

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

태터데스크 메시지

저장하였습니다.

VS 2010 ALM/TFS 20102012.11.06 17:19

지난 다섯번의 강좌를 통해 Java 프로젝트를 TFS를 통해 버전제어하는 방법에 대해 살펴보았습니다. 지금부터는 두 차례에 걸쳐 TFS에서 버전제어되고 있는 Java 프로젝트를 통합 빌드하는 방법에 대해 알아보도록 하겠습니다.

그 첫번째 강좌로 통합 빌드 환경을 구성하는 방법과 에 대해 설명하겠습니다.

  • 통합 빌드 환경 구성 및 빌드 정의하기
  • 빌드 실행하고 결과 확인하기

 


  

  통합 빌드 환경 구성 및 빌드 정의하기

 

 통합 빌드 환경 구성하기

 

TFS Ant 또는 Maven을 활용하여 Java 프로젝트를 통합 빌드하고, 그 결과를 TFS에 저장하여 관리할 수 있습니다. 이와 같이 하려면 Team Foundation Build가 구성된 서버에 아래의 소프트웨어를 설치해야 합니다. Team Foundation Build 구성에 대해서는 빌드 시스템 구성(http://msdn.microsoft.com/ko-kr/library/ms181711.aspx)”을 참조하시기 바랍니다.

l  Team Foundation Build Extensions Power Tool

l  Java development kit(JDK):

l  Ant 또는 Maven

n  Maven 빌드는 TFS 2008 TFS 2010에서만 실행시킬 수 있습니다. TFS 2005에서는 Maven 빌드를 실행시킬 수 없습니다.

  

   빌드 정의

Team Foundation Build를 사용해서 Java 프로젝트를 통합 빌드하려면 빌드 정의를 만들어야 합니다. 빌드 정의에는 컴파일할 Java 프로젝트, 수행할 추가 작업 및 추가 작업 수행 방법에 대한 지침이 포함됩니다.

 

 빌드 결과 저장 폴더 만들기

TFS 빌드가 완료되면 이진 파일, 로그 파일 등이 만들어 집니다. 이 결과물을 특정 폴더에 위치시켜 팀에서 공유할 수 있습니다.

빌드 에이전트는 빌드 서비스 계정으로 Team Foundation Build Service를 실행합니다. 따라서, 빌드 서비스 계정에게 저장 폴더에 대한 변경 및 읽기 권한을 부여해야 합니다.

여기서는 빌드 결과물이 저장되는 폴더를 만들고, 빌드 서비스 계정에 권한을 부여하는 방법에 대해 설명합니다.

1.      저장 폴더를 설정할 컴퓨터에 로그온합니다.

2.      “Windows 탐색기를 열고 저장 폴더를 포함하거나 포함할 폴더로 이동합니다.

3.      필요한 경우 저장 폴더를 만듭니다.

A.     저장 폴더의 경로는 가능한 한 짧게 유지합니다(: c:\drops). 저장 폴더가 빌드 에이전트에서 259자가 넘는 실제 경로를 생성하지 않도록 해야 합니다. 이렇게 하지 않으면 빌드가 실패하고 TF205022 오류 메시지가 기록됩니다.

4.      저장 폴더를 우 클릭하고속성을 클릭한 다음공유탭을 클릭합니다.

5.      Windows Server 2008, Windows 7 Windows Vista에서만 고급 공유를 클릭합니다.

A.     고급 공유 대화 상자가 나타납니다.

6.      이 폴더를 공유함을 선택한 다음사용 권한을 클릭합니다.

A.     FolderName의 사용 권한 대화 상자가 나타납니다.

7.      추가를 클릭합니다.

A.     사용자, 컴퓨터 또는 그룹 선택대화 상자가 나타납니다.

8.      빌드 서비스 계정으로 지정된 계정의 유형에 따라 다음 단계 중 하나를 수행합니다.

A.     저장 폴더가 포함된 컴퓨터에서 실행되는 NETWORK SERVICE: “선택할 개체 이름을 입력하십시오.” 상자에 “NETWORK SERVICE”를 입력합니다.

B.      저장 폴더가 포함된 컴퓨터와 다른 컴퓨터에서 실행되는 NETWORK SERVICE:

                         i.         개체 유형을 클릭합니다.

                        ii.         개체 유형대화 상자에서 컴퓨터확인란을 선택한 다음확인을 클릭합니다.

                       iii.         위치가 올바른지 확인합니다.

                       iv.         선택할 개체 이름을 입력하십시오.” 상자에 BuildMachine$를 입력합니다. 여기서 BuildMachine은 빌드 에이전트가 실행되는 빌드 컴퓨터의 이름입니다.

C.      도메인 계정: 위치가 올바른지 확인합니다. “선택할 개체 이름을 입력하십시오.” 상자에 계정의 이름을 입력합니다.

9.      확인을 클릭합니다.

10.   FolderName사용 권한대화 상자에서 그룹 또는 사용자 이름목록에 추가한 계정을 클릭합니다.

11.   읽기/쓰기를 선택한 다음 확인을 클릭합니다.

 

 빌드 정의 만들기

Team Foundation Build를 사용하여 Java 프로젝트를 빌드하려면 먼저 빌드 정의를 만들어야 합니다. 이 빌드 정의에는 빌드할 Java 프로젝트와 이 프로젝트를 Ant 빌드를 이용할 지 또는 Maven 빌드를 이용할지가 명시되며, 빌드를 수행할 빌드 컨트롤러가 지정됩니다. 빌드 정의를 만든 다음에는 이 빌드를 Team Foundation Build 큐에 대기시킬 수 있습니다.

아래는 빌드 정의를 만드는 절차에 대한 설명입니다.

1.      Eclipse를 실행합니다.

2.      “Team Foundation Server Exploring” Perspective를 엽니다.

3.      “Team Explorer” 창에서 팀 프로젝트를 확장합니다.

4.      “Builds” 폴더에 우 클릭한 다음, “New Build Definition”을 선택합니다.

5.      “Build Definition” 창의 “General” 탭에서 다음 항목 값을 설정합니다.

A.     “Build definition name” – 빌드 정의에 대한 이름을 부여합니다. : <프로젝트명><빌드 트리거 유형>, “HelloJavaCIBuild”

B.      (선택) “Description” – 빌드 정의의 사용 목적에 대해 간략하게 기술합니다.

C.      (선택) “Disable this build definition” – 이 빌드 정의를 사용하지 않으려면 이 옵션을 선택합니다.

6.      “Trigger” 탭에서 다음 빌드 트리거 유형 중 하나를 선택합니다.

A.     “Manual” – 빌드 관리자가 수동으로 빌드를 실행시킵니다.

B.      “Continuous Integration” – “Workspace” 탭에서 지정한 working folder의 변경 내용(파일 편집, 추가, 삭제)이 체크 인 될 때 큐에 빌드를 대기 시킵니다.

C.      “Rolling Builds” – 변경 내용이 체크 인 될 떄 큐에 빌드를 대기시키지만 다음과 같은 제한이 있습니다.

                         i.         이 빌드 정의의 빌드가 이미 실행 중인 경우 추가 빌드가 큐에 대기되지 않습니다.

                        ii.         “Build no more often than every minutes” 확인란을 선택하고, 0에서 2147483647 사이의 정수 값을 입력하는 경우 그 시간이 지난 후에 새로운 빌드가 큐에 대기됩니다.

D.     “Gated Check-in” – 팀 멤버가 변경 내용을 체크 인하려고 시도할 때 큐에 변경 내용은 보류 집합에 저장되고 빌드될 때까지 큐에 대기됩니다. 이 빌드가 성공되면 체크 인 프로세스가 완료됩니다.

E.      “Schedule” – “이전 빌드 이후에 변경된 내용이 없어도 새로 빌드확인란을 선택하지 않은 경우 이 빌드 정의를 가장 최근에 실행한 이후 변경 내용이 체크 인되면 지정한 일과 시간에 빌드가 큐에 대기됩니다. 변경 내용이 마지막으로 성공한 빌드와 연결되었는지 여부와 관계없이 빌드가 큐에 대기됩니다.

이전 빌드 이후에 변경된 내용이 없어도 새로 빌드확인란을 선택하는 경우 지정한 일과 시간에 빌드가 큐에 대기됩니다. 변경 내용이 체크 인되었는지 여부와 관계없이 빌드가 큐에 대기됩니다.

7.      “Workspace” 탭의 “Working folders” 항목에서 빌드할 대상 프로젝트가 있는 폴더를 지정합니다. 만약, “Working folders”에 지정된 폴더 중 이 빌드 정의에서 제외하고 싶은 폴더가 있을 경우, 해당 폴더를 선택한 다음 키보드의 “Delete” 키를 누르거나 우 클릭한 다음 “Delete”를 선택합니다.

8.      “Build Defaults” 탭에서 “Build Controller” 목록에서 빌드를 제어할 빌드 컨트롤러를 선택합니다. “This build copies output file to a drop folder” 확인 란을 선택한 다음, 빌드 결과를 저장할 폴더의 경로를 입력합니다. 빌드 결과를 저장할 폴더에 대해서는 빌드 결과 저장 폴더 만들기를 참조합니다.

9.      “Project File” 탭에서 “TFSBuild.proj” 파일을 만들기 위해 “Create” 버튼을 클릭합니다.

A.     이전에 만든 “TFSBuild.proj” 파일을 사용하려면 “Browse” 버튼을 클릭하여 “TFSBuild.proj” 파일을 찾습니다.

10.   “Create Build” 창의 “Wizards” 목록에서 “MSBuild Configuration from Existing Ant Buildfile”를 선택한 다음, “Next” 버튼을 클릭합니다.

A.     이 문서에서는 Ant 빌드를 예로 설명합니다.

B.      만약, Maven 빌드를 사용하는 경우에는 “MSBuild Configuration from Existing Maven POM file”를 선택합니다.

11.   “Create Ant Build Configuration Wizard” 창에서 “build.xml”을 찾아 선택한 다음, “Finish” 버튼을 클릭합니다.

A.     “build.xml” 파일이 TFS 버전 제어에 추가되어 있어야 합니다.

12.   이전에 만든 “TFSBuild.proj” 파일을 지정하거나 새로운 “TFSBuild.proj” 파일이 성공적으로 만들어지면 “Found MSBuild project file: TFSBuild.proj” 메시지가 나타납니다.

13.   “Retention Policy” 탭에서 빌드 결과를 TFS에 얼마 동안 저장하여 관리할 것인지 정의합니다.

14.   새로운 빌드 정의가 성공적으로 만들어지면, “Team Explorer” 창에 아래와 같이 나타납니다.

 

 빌드 정의 편집하기

이전에 만들어진 빌드 정의를 수정해야 한다면, “Build Definition” 창에서 해당 빌드 정의를 편집할 수 있습니다. 예를 들어, 빌드가 수동으로 실행되도록 설정했던 것을 자동으로 실행되도록 변경해야 한다거나, 일시적으로 해당 빌드가 실행되지 않도록 막아 놓아야 할 경우 빌드 정의를 수정해야 합니다.

다음을 “Build Definition” 창에서 빌드 정의를 편집하는 절차입니다.

1.      “Team Explore”에서 “Builds” 폴더를 확장하고 빌드 정의에 우 클릭한 다음 “Edit Build Definition”을 클릭합니다.

2.      다음 탭 중 하나를 클릭합니다.

A.     빌드의 이름을 변경하거나 설명을 수정하려면 “General”을 클릭합니다.

B.      빌드 정의의 트리거를 표시하거나 수정하려면 “Trigger”를 클릭합니다.

C.      이 빌드 정의의 작업 영역을 표시하거나 수정하려면 “Workspace”를 클릭합니다.

D.     빌드 컨트롤러와 빌드 결과 저장 폴더를 표시하거나 수정하려면 “Build Defaults”을 클릭합니다.

E.      이 빌드 정의에서 수행하는 “TFSBuild.proj” 파일을 표시하거나 수정하려면 “Project File”을 클릭합니다.

F.      실패, 중지, 부분적 성공 또는 완전한 성공이라는 빌드 결과에 대한 현재 보존 정책을 표시하거나 수정하려면 “Retention Policy”를 클릭합니다.

3.      작업이 끝나면 Ctrl+S를 누릅니다.

 

 빌드 정의 삭제하기

더 이상 빌드 정의가 필요 없게 되었다면, 해당 빌드 정의를 삭제할 수 있습니다. , 삭제하려는 빌드 정의와 관련된 빌드 결과가 있는 경우에는 삭제가 안 됩니다. 따라서, 관련 빌드 결과를 먼저 삭제한 후 빌드 정의를 삭제해야 합니다.

다음은 빌드 정의를 삭제하는 절차에 대한 설명입니다.

1.      “Team Explorer”에서 “Builds” 폴더를 확장한 다음 삭제할 빌드 정의를 찾습니다.

A.     삭제할 빌드 정의와 연결되어 있는 완료된 빌드가 있으면 완료된 빌드를 모두 삭제해야 빌드 정의 자체를 삭제할 수 있습니다.

2.      연결되어 있는 완료된 빌드를 모두 삭제한 다음 빌드 정의에 우 클릭한 다음, “Delete”를 선택합니다.

3.      “Delete Build Definition” 대화 상자에서 “Yes” 버튼을 클릭합니다.

 

이상으로 TFS를 활용하여 Java 프로젝트를 통합 빌드하는 방법의 첫번째 강좌를 마칩니다.

다음은 정의된 빌드를 실행하고 빌드 결과를 확인하는 방법에 대해 알아보겠습니다.

감사합니다.

webmars

 

Posted by webmars