빌드-배포-테스트 워크플로에 대한 배포 스크립트 만들기
빌드 배포 테스트 워크플로 응용 프로그램을 배포 하려면 배포 스크립트를 작성 하 고 빌드에 추가 해야 합니다.배포 스크립트를 빌드 랩 환경에서 컴퓨터로 복사 CMD 나 BAT 파일입니다.빌드 설치 패키지에 포함 되어 있는 경우 배포 스크립트를 사용 설치 패키지를 실행할 수 있습니다.빌드 배포 테스트 과정을 만들 때 워크플로를 배포 스크립트를 실행 하는 명령을 추가 합니다.워크플로 실행할 때 빌드 컨트롤러 명령 들 작업 디렉토리에 지정 된 컴퓨터 랩 환경에서 실행 됩니다.
방법: SCVMM 환경에 대한 빌드-배포-테스트 워크플로 만들기 또는 방법: 표준 환경에 대한 빌드-배포-테스트 워크플로 만들기를 참조하십시오.이 섹션에서는 빌드 배포 테스트 과정을 사용 하는 배포 스크립트를 작성 하는 방법에 설명 합니다.
빌드 파일 배포 준비
배포 스크립트 작성
배포 스크립트 작성
작업 디렉터리 설정
배포 스크립트에 워크플로 추가
- 기본 제공 변수
요구 사항
- Visual Studio Ultimate, Visual Studio Premium, Visual Studio Test Professional
빌드 파일 배포 준비
응용 프로그램 설치 방법과 배포 스크립트를 수행 하는 데 필요한 기본 작업을 결정 합니다.응용 프로그램을 설치만 EXE를 클라이언트 컴퓨터로 복사 포함 될 수도 있고 파일을 여러 시스템에 설치 하는 배포 패키지를 실행 포함 될 수 있습니다.다음 표에서 각 종류의 배포에 대해 이러한 작업을 설명합니다.
중요 |
---|
응용 프로그램 설치 및 응용 프로그램을 배포 하기 전에 배포 스크립트가 구성 된 필수 구성 요소 소프트웨어에 의존 하는 경우 사용자 환경에서 컴퓨터를 준비할 때 수동으로 설치 해야 합니다.SCVMM 환경 배포 환경의 스냅숏을 사용 하는 경우 스냅숏을 필수 소프트웨어가 설치 되어 있는지 확인 해야 합니다. |
설치 유형 |
설명 |
---|---|
웹 서비스 배포 패키지 |
주의
IIS를 사용 하 여 응용 프로그램을 배포 하는 경우 웹 배포 에이전트 서비스 구성 응용 프로그램을 배포 하기 전에 랩 환경에서 IIS 서버 있어야
배포 스크립트 파일 빌드 및 배포 패키지를 랩 환경에서 대상 컴퓨터로 복사 하 고 배포 패키지를 실행 해야 합니다.이 위해서는 서비스 계정 이름, 도메인 이름, TFS 서버 이름 배포 스크립트에 매개 변수로 전달 해야 합니다.이런이 종류의 설치는 일반적으로 수동으로 설치 하 고 응용 프로그램을 배포 하기 전에 필수 구성 요소 소프트웨어와 같은 웹 서버나 데이터베이스 서버를 구성 하도록 필요 합니다.필수 소프트웨어의 구성을 대상 컴퓨터의 응용 프로그램을 배포할 수 있도록 하는 특정 작업을 요구할 수 있습니다.예를 들어, IIS 응용 프로그램을 사용 하는 경우 웹 배포 에이전트 서비스 구성 응용 프로그램을 배포 하기 전에 랩 환경에서 IIS 서버 있어야 합니다. |
설치 패키지 파일 빌드 |
배포 스크립트 응용 프로그램을 복사 하 고 랩 환경에서 대상 컴퓨터로 파일을 작성 해야 합니다. |
설치 패키지 |
주의
빌드 배포 테스트 과정에는 설치 패키지를 배포 하는 경우 배포 스크립트는 설치 패키지를 실행 하거나 응용 프로그램 배포에 실패 하면 생성 된 모든 사용자 입력을 처리 해야 합니다.
배포 스크립트를 대상 컴퓨터를 랩 환경에서 설치 패키지를 복사 하 고 설치 패키지를 실행 해야 합니다.설치 패키지를 배포 스크립트를 실행 하면 자동 설치 있는지 확인 해야 합니다.사용자 입력 요청 설치로 배포 스크립트에서 처리 되어야 합니다.이 자격 증명이 포함 됩니다.배포 스크립트를 모든 사용자 입력을 처리 하지 못할 경우 발생 하는 경우는 설치 패키지를 실행 하 고 응용 프로그램 배포에 실패 합니다.웹 응용 프로그램을 배포 하는 설치 패키지 배포에 필요한 경우 InstallShield 설치 패키지를 사용 하는 것이 좋습니다.Installshield에 대 한 자세한 내용은 Windows Installer Deployment. |
배포 스크립트 작성
다음은 배포 스크립트에서 수행 하는 가장 일반적인 작업입니다.
빌드 경로에 빌드 컨트롤러를 가져옵니다.배포 스크립트에이 명령을 인수로 보낼 수 있습니다.
배포 경로 지정 합니다.
배포 디렉터리를 만듭니다.또한 수동으로 대신에 이렇게 배포 스크립트.워크플로를 배포 전 환경 스냅숏 사용 중인 경우 디렉터리에서 가상 컴퓨터의 스냅숏 생성 하기만 하면 됩니다.
배포 패키지 빌드 경로에서 배포 경로에 복사 합니다.
배포 디렉터리에 배포 패키지를 실행 합니다.
다음 명령을 배포 스크립트에서 수행 된 몇 가지 일반적인 작업을 보여 줍니다.
REM set build path
set buildlocation=%1
REM set deployment path
set targetdir="C:\deploy"
REM create deployment directory
if not exist %targetdir% (cmd /c mkdir %targetdir%)
REM copy build to the deployment directory
xcopy /c /y /e %buildlocation%\*.* %targetdir%
REM if you are using a deployment package you can run it here, after you copy it to your deployment directory
배포 스크립트 작성
배포 스크립트를 만든 후 버전 제어에 체크 하 고는 사용자가 빌드 출력에 복사 되도록 구성 해야 합니다.배포 스크립트를 작성 하려면 먼저 한 Visual Studio 프로젝트 뿐 아니라 솔루션에에서 저장 되었는지 확인 해야 합니다.Visual Studio 배포 스크립트를 선택 하 여 이렇게 솔루션 탐색기, 다음 속성, 변경 출력 디렉터리로 복사 에 항상 복사.
작업 디렉터리 설정
각 빌드 배포 테스트 과정에 추가 하는 명령 집합에 대 한 작업 디렉터리를 지정할 수 있습니다.빌드 컨트롤러 작업 디렉터리를 지정 하면 해당 역할에 할당 된 각 컴퓨터의 작업 디렉터리에 지정 된 명령을 실행 됩니다.빌드 컨트롤러를 명령을 명령 빌드 배포 테스트 과정에 추가 하는 작업 디렉터리를 지정 하지 않으면 기본 작업 directory−에서 실행 됩니다C:\Windows\System32.
중요 |
---|
빌드 배포 테스트 과정에 추가 명령을 사용 하 여 작업 디렉터리를 만들지 마십시오. 경우 배포 스크립트 파일을 해당 디렉터리에 복사 하기 전에 디렉터리를 만들 수 없습니다. |
작업 디렉터리를 지정 하는 경우 해당 디렉터리에 배포 스크립트 파일을 복사 하기 전에 디렉터리를 만들 것을 확인 해야 합니다.빌드 배포 테스트 과정에 배포 스크립트를 추가 하는 데 사용할 명령 작업 디렉터리를 만들지 마십시오.이렇게 하면 배포 스크립트 디렉터리에 파일을 복사 하기 전에 디렉터리가 만들어지지 않습니다.작업 디렉터리를 확인 하려면 배포 스크립트 파일을 복사 하거나 수동으로 디렉터리를 대상 컴퓨터에 환경에서 만들어야 합니다 모든 명령은 파일을 복사 하기 전에 디렉터리에서 배포 스크립트를 만들어야 하기 전에 생성 됩니다.
배포 스크립트에 워크플로 추가
Windows 셸 명령 빌드 배포 테스트 랩 환경에 응용 프로그램을 배포 하려면 워크플로를 추가 합니다.배포 스크립트를 사용 하는 경우 명령을 빌드 컨트롤러에서 배포 스크립트를 대상 컴퓨터의 작업 디렉터리에 복사 하 고 배포 스크립트를 실행 해야 합니다.그러나만 몇 파일을 작업 디렉터리로 복사 하는 간단한 응용 프로그램 설치의 사용자 셸 명령 워크플로에서 외부 배포 스크립트를 지정 하지 않고 사용할 수 있습니다.
명령 프롬프트에서 windows를 실행 등을 추가 하려는 경우 mkdir, 또는 배치 파일 실행 명령을 사용 하 여 시작 해야 cmd /c.예를 들어, 명령 cmd /c $(BuildLocation)\copyexe $(BuildLocation) 는 copyexe 배치 파일 copyexe.bat, 실행 파일을 가상 컴퓨터의 로컬 디렉터리에 복사 합니다.
기본 제공 변수: 빌드 배포 테스트 과정에이 명령을 추가 하면 기본 제공 변수 특정 경로 컴퓨터를 식별 합니다. 사용할 수 있습니다.배포 스크립트에 이러한 변수를 전달할 수도 있습니다.
$(BuildLocation)
빌드 파일을 수 있는 전체 경로 또는 저장 위치는 빌드-빌드 배포 테스트 과정에서 구성 되어 있는 경우.빌드 파일에 액세스 하려면이 변수를 사용 합니다.$ (< VM 이름 > InternalComputerName_)
SCVMM 환경에서 가상 컴퓨터의 컴퓨터 이름입니다.가상 컴퓨터 호스트의 호스트 컴퓨터 이름을 모르는 경우에 액세스 하려면이 변수를 사용 합니다.이와 같은 경우 컴퓨터 이름이 필요한 웹 서버 설정용 배포 스크립트가 있으면 이 변수를 스크립트에 인수로 전달할 수 있습니다.예를 들어, 웹 서버에 대 한 가상 머신 이름 VM1 되었습니다 고 MyWebServer 컴퓨터 이름을 입력 합니다 $(InternalComputerName_VM1) 스크립트를 사용 하 고이 대 한 인수는 값을 전달 하는 MyWebServer 스크립트를.$ (< VM 이름 > ComputerName_)
[!참고]
네트워크 격리 환경에서 SCVMM: 네트워크 격리를 SCVMM 환경 값을 사용 중인 경우 $(InternalComputerName_<VM Name>) 인스턴스의 가상 컴퓨터 환경에서의 각 복사본에 동일 하지만 $(ComputerName_<VM Name>) 은 다른입니다.
가상 컴퓨터의 정규화 된 도메인 이름입니다.이 변수 액세스 SCVMM 환경 외부의 컴퓨터에서 사용 합니다.이 변수는 웹 서버를 설정 하는 인수로 서 전달 할 수 있습니다.웹 서버에 대 한 가상 머신 이름 VM1, 예를 들어, 가상 컴퓨터의 정규화 된 도메인 이름을 전달 하 여 액세스할 수 있는 $(ComputerName_VM1) 배포 스크립트에 인수.