다음을 통해 공유


변수 그룹 관리

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

이 문서에서는 Azure Pipelines에서 변수 그룹을 만들고 사용하는 방법을 설명합니다. 변수 그룹은 YAML 파이프라인에 전달하거나 프로젝트의 여러 파이프라인에서 사용할 수 있는 값과 비밀을 저장합니다.

변수 그룹의 비밀 변수는 보호되는 리소스입니다. 승인, 검사 및 파이프라인 권한의 조합을 추가하여 변수 그룹의 비밀 변수에 대한 액세스를 제한할 수 있습니다. 비보안 변수에 대한 액세스는 승인, 검사 또는 파이프라인 권한으로 제한되지 않습니다.

변수 그룹은 역할 및 권한에 대한 라이브러리 보안 모델을 따릅니다.

필수 조건

  • 파이프라인 및 변수를 만들 수 있는 권한이 있는 Azure DevOps Services 조직 및 프로젝트입니다.
  • Azure DevOps 조직 또는 Azure DevOps Server 컬렉션의 프로젝트입니다. 프로젝트가 없는 경우 프로젝트를 만듭니다.
  • Azure DevOps CLI를 사용하는 경우 Azure DevOps CLI 확장을 사용하는 Azure CLI 버전 2.30.0 이상이 필요합니다. 자세한 내용은 Azure DevOps CLI 시작을 참조하세요.
  • 파이프라인 및 변수를 만들 수 있는 권한이 있는 Azure DevOps Server 컬렉션 및 프로젝트입니다.
  • Azure DevOps 조직 또는 Azure DevOps Server 컬렉션의 프로젝트입니다. 프로젝트가 없는 경우 프로젝트를 만듭니다.

CLI 설정

Azure DevOps CLI를 사용하는 경우 Azure DevOps 조직 및 프로젝트와 함께 작동하도록 CLI를 설정해야 합니다.

  1. az login 명령을 사용하여 Azure DevOps 조직에 로그인합니다.

    az login
    
  2. 메시지가 표시되면 터미널 창에 표시된 목록에서 구독을 선택합니다.

  3. 다음 명령을 사용하여 최신 버전의 Azure CLI 및 Azure DevOps 확장을 실행하고 있는지 확인합니다.

    az upgrade
    az extension add --name azure-devops --upgrade
    
  4. Azure DevOps CLI 명령에서 다음을 사용하여 기본 조직 및 프로젝트를 설정할 수 있습니다.

    az devops configure --defaults organization=<YourOrganizationURL> project=<Project Name or ID>`
    

    기본 조직 및 프로젝트를 설정하지 않은 경우 명령의 detect=true 매개 변수를 사용하여 현재 디렉터리에 따라 조직 및 프로젝트 컨텍스트를 자동으로 검색할 수 있습니다. 기본값이 구성되거나 검색되지 않은 경우 명령에서 매개 변수 및 project 매개 변수를 org 명시적으로 지정해야 합니다.

변수 그룹 만들기

프로젝트에서 파이프라인 실행에 대한 변수 그룹을 만들 수 있습니다.

참고 항목

Azure Key Vault의 비밀을 변수로 연결하는 비밀 변수 그룹을 만들려면 Azure Key Vault의 비밀에 변수 그룹 연결의 지침을 따릅니다.

  1. Azure DevOps 프로젝트의 왼쪽 메뉴에서 파이프라인>라이브러리를 선택합니다.

  2. 라이브러리 페이지에서 + 변수 그룹을 선택합니다.

    라이브러리 화면 및 변수 그룹 추가 단추의 스크린샷

  3. 새 변수 그룹 페이지의 속성 아래에서 변수 그룹에 대한 이름 및 선택적 설명을 입력합니다.

  4. 변수에서 + 추가를 선택한 다음 그룹에 포함할 변수 이름과 값을 입력합니다. 값을 암호화하고 안전하게 저장하려면 변수 옆에 있는 잠금 아이콘을 선택합니다.

  5. + 추가를 선택하여 각 새 변수를 추가합니다. 변수 추가를 마치면 저장을 선택합니다.

    변수 그룹을 구성하고 저장하는 스크린샷

이제 프로젝트 파이프라인에서 이 변수 그룹을 사용할 수 있습니다.

변수 그룹 업데이트

Azure Pipelines 사용자 인터페이스를 사용하여 변수 그룹을 업데이트할 수 있습니다.

  1. Azure DevOps 프로젝트의 왼쪽 메뉴에서 파이프라인>라이브러리를 선택합니다.
  2. 라이브러리 페이지에서 업데이트할 변수 그룹을 선택합니다. 변수 그룹 목록을 마우스로 가리키고 추가 옵션 아이콘을 선택한 다음 메뉴에서 편집을 선택할 수도 있습니다.
  3. 변수 그룹 페이지에서 속성을 변경한 다음 저장을 선택합니다.

변수 그룹 삭제

Azure Pipelines 사용자 인터페이스에서 변수 그룹을 삭제할 수 있습니다.

  1. Azure DevOps 프로젝트의 왼쪽 메뉴에서 파이프라인>라이브러리를 선택합니다.
  2. 라이브러리 페이지에서 삭제할 변수 그룹을 마우스로 가리키고 기타 옵션 아이콘을 선택합니다.
  3. 메뉴에서 삭제를 선택한 다음 확인 화면에서 삭제를 선택합니다.

변수 그룹의 변수 관리

Azure Pipelines 사용자 인터페이스를 사용하여 변수 그룹의 변수를 변경, 추가 또는 삭제할 수 있습니다.

  1. Azure DevOps 프로젝트의 왼쪽 메뉴에서 파이프라인>라이브러리를 선택합니다.
  2. 라이브러리 페이지에서 업데이트할 변수 그룹을 선택합니다. 변수 그룹 목록을 마우스로 가리키고 추가 옵션 아이콘을 선택한 다음 메뉴에서 편집을 선택할 수도 있습니다.
  3. 변수 그룹 페이지에서 다음을 수행할 수 있습니다.
    • 변수 이름 또는 값을 변경합니다.
    • 변수 이름 옆에 있는 가비지 캔 아이콘을 선택하여 변수를 삭제합니다.
    • 변수 값 옆에 있는 잠금 아이콘을 선택하여 변수를 비밀 또는 비보안으로 변경합니다.
    • + 추가를 선택하여 새 변수를 추가합니다.
  4. 변경한 후 저장을 선택합니다.

파이프라인에서 변수 그룹 사용

YAML 또는 클래식 파이프라인에서 변수 그룹을 사용할 수 있습니다. 변수 그룹에 대한 변경 내용은 변수 그룹이 연결된 모든 정의 또는 단계에서 자동으로 사용할 수 있습니다.

YAML 파이프라인에서 변수 그룹의 이름만 지정하는 경우 리포지토리에 코드를 푸시할 수 있는 모든 사용자는 변수 그룹의 비밀 콘텐츠를 추출할 수 있습니다. 따라서 YAML 파이프라인에서 변수 그룹을 사용하려면 그룹을 사용하도록 파이프라인에 권한을 부여해야 합니다. Azure Pipelines 사용자 인터페이스 또는 Azure DevOps CLI를 사용하여 변수 그룹을 사용하도록 파이프라인에 권한을 부여할 수 있습니다.

파이프라인 UI를 통한 권한 부여

Azure Pipelines 사용자 인터페이스를 사용하여 변수 그룹을 사용하도록 파이프라인에 권한을 부여할 수 있습니다.

  1. Azure DevOps 프로젝트의 왼쪽 메뉴에서 파이프라인>라이브러리를 선택합니다.
  2. 라이브러리 페이지에서 권한을 부여할 변수 그룹을 선택합니다.
  3. 변수 그룹 페이지에서 파이프라인 사용 권한 탭을 선택합니다.
  4. 파이프라인 사용 권한 화면에서 권한을 부여할 파이프라인을 선택한 + 다음 선택합니다. 또는 추가 작업 아이콘을 선택하고 액세스 열기를 선택한 다음 다시 열기 액세스를 선택하여 확인합니다.

파이프라인을 선택하면 해당 파이프라인에서 변수 그룹을 사용할 수 있는 권한이 부여됩니다. 다른 파이프라인에 권한을 부여하려면 아이콘을 + 다시 선택합니다. 열기 액세스를 선택하면 모든 프로젝트 파이프라인에서 변수 그룹을 사용할 수 있는 권한이 부여됩니다. 그룹에 비밀이 없는 경우 열기 액세스가 좋은 옵션일 수 있습니다.

변수 그룹에 권한을 부여하는 또 다른 방법은 파이프라인을 선택하고 편집을 선택한 다음 빌드를 수동으로 큐에 대기하는 것입니다. 리소스 권한 부여 오류가 표시되면 파이프라인을 변수 그룹의 권한 있는 사용자로 명시적으로 추가할 수 있습니다.

Azure DevOps CLI를 통한 권한 부여

Azure DevOps Services에서 Azure DevOps CLI를 사용하여 변수 그룹에 권한을 부여할 수 있습니다.

Azure DevOps CLI 명령은 Azure DevOps Server에서 지원되지 않습니다.

변수 그룹을 사용하도록 모든 프로젝트 파이프라인에 권한을 부여하려면 az pipelines variable-group create 명령에서 매개 변수를 true설정합니다authorize. 그룹에 비밀이 없는 경우 이 열린 액세스가 좋은 옵션일 수 있습니다.

YAML 파이프라인에 변수 그룹을 사용하도록 권한을 부여하면 파이프라인의 그룹 내에서 변수를 사용할 수 있습니다.

변수 그룹의 변수를 사용하려면 YAML 파이프라인 파일에서 그룹 이름에 대한 참조를 추가합니다.

variables:
- group: my-variable-group

동일한 파이프라인에서 여러 변수 그룹을 참조할 수 있습니다. 여러 변수 그룹에 이름이 같은 변수가 포함된 경우 파일의 변수를 사용하는 마지막 변수 그룹은 변수의 값을 설정합니다. 변수의 우선 순위에 대한 자세한 내용은 변수 확장을 참조 하세요.

템플릿에서 변수 그룹을 참조할 수도 있습니다. 다음 variables.yml 템플릿 파일은 변수 그룹을 my-variable-group참조합니다. 변수 그룹에는 .라는 myhello변수가 포함됩니다.

variables:
- group: my-variable-group

YAML 파이프라인은 variables.yml 템플릿을 참조하고 변수 그룹의 my-variable-group변수 $(myhello) 를 사용합니다.

stages:
- stage: MyStage
  variables:
  - template: variables.yml
  jobs:
  - job: Test
    steps:
    - script: echo $(myhello)

연결된 변수 그룹에서 변수 사용

파이프라인 내에서 정의한 변수에 액세스하는 것과 동일한 방식으로 연결된 변수 그룹의 변수 값에 액세스합니다. 예를 들어 파이프라인에 연결된 변수 그룹에 명명된 customer 변수의 값에 액세스하려면 작업 매개 변수 또는 스크립트에서 사용할 $(customer) 수 있습니다.

파이프라인 파일에서 독립 실행형 변수와 변수 그룹을 모두 사용하는 경우 독립 실행형 변수에 대한 구문을 사용합니다 name-value .

variables:
- group: my-variable-group
- name: my-standalone-variable
  value: 'my-standalone-variable-value'

변수 그룹의 변수를 참조하려면 매크로 구문 또는 런타임 식을 사용할 수 있습니다. 다음 예제에서 그룹에 my-variable-group 는 변수가 있습니다 myhello.

런타임 식을 사용하려면:

variables:
- group: my-variable-group
- name: my-passed-variable
  value: $[variables.myhello]
- script: echo $(my-passed-variable)

매크로 구문을 사용하려면 다음을 수행합니다.

variables:
- group: my-variable-group

steps:
- script: echo $(myhello)

암호화된 변수 및 키 자격 증명 모음 변수를 포함한 비밀 변수는 스크립트에서 직접 액세스할 수 없습니다. 이러한 변수를 작업에 인수로 전달해야 합니다. 자세한 내용은 비밀 변수를 참조 하세요.