다음을 통해 공유


구성 변수 및 시스템 변수

앱을 배포하는 경우 스크립트의 구성 또는 시스템 설정에 액세스해야 할 때가 많습니다. 이렇게 하면 구성, 빌드, 서버 또는 릴리스에 따라 값이 변경될 때에 대비하여 여러 위치에 값을 하드 코딩할 필요가 없습니다. Visual Studio 2013용 Release Management 업데이트 4를 설치하면 스크립트 내에 vNext 릴리스에 대한 구성 및 시스템 변수를 사용할 수 있으며, 그에 따라 하드 코딩된 값을 사용할 필요가 없습니다.

구성 변수

구성 변수는 작업 실행 도중 사용할 수 있는 재사용 및 사용자 지정이 가능한 설정을 제공합니다. 서버와 구성 요소에, 그리고 전역적으로 구성 변수와 기본값을 설정한 후 PowerShell 스크립트 및 구성 스크립트에서 이러한 값을 사용할 수 있습니다. 또한 배포 시 기본값을 사용하지 않으려는 경우 이를 재정의할 수 있습니다. 구성 변수를 사용하는 예로는 서버에 앱을 배포하는 데 사용되는 사용자 이름과 암호를 설정하는 것을 들 수 있습니다.

구성 변수는 전역, 서버, 구성 요소 및 작업 수준에서 설정할 수 있습니다.

  • 전역 구성 변수: 관리 > 설정 > 구성 변수를 통해 설정하며, 어디서든 사용할 수 있습니다.

  • 서버 구성 변수: 경로 구성 > 서버로 이동하고 서버와 구성 변수를 차례로 선택하여 설정합니다. 서버에 응용 프로그램을 배포하는 작업에 사용할 수 있습니다. UserName 및 Password 같은 서버 관련 변수에 사용합니다.

  • 구성 요소 구성 변수: 응용 프로그램 구성 > 구성 요소로 이동하고 구성 요소와 구성 변수를 차례로 선택하여 설정합니다. 구성 요소를 사용하는 작업에 사용할 수 있습니다.

  • 작업 구성 변수: 릴리스 템플릿 디자이너 내에서 설정하여, 작업에 사용할 수 있습니다.

구성 변수 이름이 두 개 이상의 수준에서 사용되는 경우 최상위에서 최하위 순으로 나타낸 우선 순위는 구성 스크립트 파일 > 작업 > 구성 요소 > 서버 > 전역입니다.

구성 변수는 릴리스 템플릿릴리스 보기의 왼쪽 아래 모퉁이에 있는 구성 변수리소스 변수 탭에서 관리합니다.

구성 변수 탭에는 단계별로 작업에 대해 적용된 구성 변수가 표시됩니다.

구성 변수

리소스 변수 탭에는 서버와 구성 요소에 대해서는 물론, 전역적으로 설정된 구성 변수 및 값이 표시됩니다. 이 값들은 이전 시점의 스냅숏이 아니라 현재 값입니다. 리소스 변수의 변경 사항은 새 배포를 시작하는 진행 중인 릴리스를 통해 적용됩니다.

리소스 변수

작업 내에 구성 변수를 추가하려면 릴리스 템플릿 디자이너에서 활동을 열고, 사용자 지정 구성 섹션에서 드롭다운 화살표를 클릭하고, 구성 변수 유형으로 표준 또는 암호화됨을 지정합니다. 암호화됨을 사용하는 경우 앱을 배포하는 서버에 HTTPS 수신기가 구성되어 있는지 확인합니다.

구성 변수 유형

새 변수 이름을 입력하고 해당 값을 지정합니다.

사용자 지정 구성 변수 만들기

리소스 변수의 값을 재정의하려면 + 기호를 클릭한 후 사용자 지정 구성 섹션에서 드롭다운 화살표를 클릭합니다. 사용자 지정할 변수를 선택하고 값을 지정합니다.

사용자 지정 구성 값 설정

시스템 변수

스크립트에서는 구성 설정 외에 시스템 설정에도 액세스해야 할 수 있습니다. 예를 들어 프로덕션 환경에 앱을 배포할 때 스크립트를 통해 특수한 작업을 수행해야 하는 경우 스크립트에서 환경 변수를 검사할 수 있습니다. 사용할 수 있는 시스템 변수는 다음과 같습니다.

  • ApplicationPath 구성 요소가 복사되는 대상 경로(구성 요소 이름 포함)입니다.

  • ApplicationPathRoot 구성 요소가 복사되는 대상 경로입니다.

  • BuildDefinition 구성 요소의 빌드 정의입니다.

  • BuildDirectory 구성 요소의 빌드 디렉터리입니다.

  • BuildNumber 구성 요소의 빌드 번호입니다.

  • Environment 릴리스용 환경입니다.

  • PackageLocation 구성 요소가 복사되는 소스 경로입니다. 표준 서버에 저장되는 빌드의 경우 경로는 container-id를 가리킵니다. Azure에 저장되는 빌드의 경우 경로는 저장소 blob GUID를 가리킵니다.

  • ReleaseId Release Management를 통해 할당되는 릴리스 ID입니다.

  • ReleaseNumber 릴리스 번호입니다.

  • Stage 릴리스 단계입니다.

  • Tag 작업을 실행 중인 서버를 그룹화하는 데 사용되는 태그입니다.

  • TeamProject 구성 요소의 팀 프로젝트입니다.

  • TFSUrl 구성 요소의 TFS URL입니다.

스크립트에서 구성 변수나 시스템 변수를 사용하는 경우 변수 이름에 접두사 **$**를 붙입니다. 예: $Stage

값을 할당하지 않을 수도 있습니다. 예를 들어 태그를 통해 그룹화되지 않은 서버에 앱을 배포하는 경우 $Tag 변수의 값이 할당되지 않습니다.