다음을 통해 공유


배포 구성 가이드

ALM Accelerator for Power Platform은 JSON 형식의 구성 파일을 사용하여 솔루션 배포를 자동화합니다. 연결 참조, 환경 변수 및 권한을 설정하고, 캔버스 앱을 공유하고, 솔루션이 다운스트림 환경에 배포될 때 Power Automate 흐름과 같은 솔루션 구성 요소의 소유권을 업데이트합니다.

이 문서의 구성 파일을 사용하면 솔루션이 배포되는 환경에 특정한 항목을 구성할 수 있습니다. 필요한 구성 파일과 이 문서에서 따라야 하는 단계는 솔루션 파이프라인이 배포하는 구성 요소에 따라 다릅니다. 예를 들어 솔루션에 Dataverse 테이블과 모델 기반 앱만 포함되어 있고 환경별 구성이나 데이터가 필요하지 않은 경우 이러한 단계 중 일부를 건너뛸 수 있습니다.

ALMAcceleratorSampleSolution 배포 설정사용자 지정 배포 설정에 예제 구성 파일을 제공했습니다.

시작하기 전에

이 문서는 배포 구성 파일을 수동으로 설정하는 단계별 가이드입니다. 프로세스의 각 단계에 대한 세부 정보를 알고자 하는 관리자를 위한 참조로 ALM Accelerator 앱 및 파이프라인에서 수행하는 작업에 대한 세부 정보 및 컨텍스트를 제공합니다.

그러나 ALM Accelerator 앱에서 배포 설정을 구성하는 것이 좋습니다.

배포 설정 JSON 파일 만들기

customDeploymentSettings.json 파일이 config 디렉터리의 루트에 저장되면 모든 환경에 동일한 구성이 적용됩니다. 특정 환경에 특정한 정보에 대해 파일 변환 또는 토큰 교체 파이프라인 작업을 사용한다고 가정하면 파이프라인 변수에서 환경별 값을 지정할 수 있습니다.

그러나 환경별 customDeploymentSettings.json 파일을 만들 수도 있습니다. 환경에 따라 이름이 지정된 config 디렉토리의 하위 디렉토리에 저장합니다. 디렉터리 이름은 유효성 검사, 테스트 및 프로덕션 환경에 대한 파이프라인을 설정할 때 생성한 EnvironmentName 변수와 일치해야 합니다. 환경별 배포 설정 JSON 및 디렉터리가 없는 경우 파이프라인은 config 디렉터리의 루트에 있는 구성으로 되돌아갑니다.

config 디렉토리 계층의 스크린샷.

이전 이미지의 JohannaDev 디렉터리와 같은 사용자별 구성 파일을 만들 수도 있습니다. 개발자는 소스 제어에서 관리되지 않는 솔루션을 가져올 때 이를 사용하여 특정 구성을 선택할 수 있습니다.

배포 설정 JSON 파일은 연결 참조 및 환경 변수를 구성합니다.

{
    "EnvironmentVariables": [
        {
            "SchemaName": "cat_shared_sharepointonline_97456712308a4e65aae18bafcd84c81f",
            "Value": "#{environmentvariable.cat_shared_sharepointonline_97456712308a4e65aae18bafcd84c81f}#"
        },
        {
            "SchemaName": "cat_shared_sharepointonline_21f63b2d26f043fb85a5c32fc0c65924",
            "Value": "#{environmentvariable.cat_shared_sharepointonline_21f63b2d26f043fb85a5c32fc0c65924}#"
        },
        {
            "SchemaName": "cat_TextEnvironmentVariable",
            "Value": "#{environmentvariable.cat_TextEnvironmentVariable}#"
        },
        {
            "SchemaName": "cat_ConnectorBaseUrl",
            "Value": "#{environmentvariable.cat_ConnectorBaseUrl}#"
        },
        {
            "SchemaName": "cat_DecimalEnvironmentVariable",
            "Value": "#{environmentvariable.cat_DecimalEnvironmentVariable}#"
        },
        {
            "SchemaName": "cat_JsonEnvironmentVariable",
            "Value": "#{environmentvariable.cat_JsonEnvironmentVariable}#"
        },
        {
            "SchemaName": "cat_ConnectorHostUrl",
            "Value": "#{environmentvariable.cat_ConnectorHostUrl}#"
        }
    ],
    "ConnectionReferences": [
        {
            "LogicalName": "new_sharedsharepointonline_b49bb",
            "ConnectionId": "#{connectionreference.new_sharedsharepointonline_b49bb}#",
            "ConnectorId": "/providers/Microsoft.PowerApps/apis/shared_sharepointonline"
        },
        {
            "LogicalName": "cat_CDS_Current",
            "ConnectionId": "#{connectionreference.cat_CDS_Current}#",
            "ConnectorId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"
        }
    ]
}
  1. 상기의 JSON 코드 샘플을 deploymentSettings.json이라는 새 파일로 복사합니다.

  2. Git의 config 폴더에 파일을 저장합니다.

config 폴더 구조의 스크린샷.

연결 참조 JSON 만들기

customDeploymentConfiguration.json 파일의 ConnectionReferences 속성은 솔루션을 환경으로 가져온 후 솔루션의 연결 참조를 설정합니다. ConnectionReferences은 또한 변수에 지정된 연결의 담당자를 기반으로 솔루션을 가져온 후 흐름을 활성화합니다.

  1. 대상 환경에서 수동으로 연결을 만듭니다.

  2. 연결에 대한 ID를 복사합니다.

    • 솔루션의 연결 참조 구성 요소에서 연결 참조의 논리적 이름을 가져옵니다.

      이름 레이블 아래 비활성화된 텍스트 필드에서 강조 표시된 솔루션의 연결 참조 스키마 이름 스크린샷.

    • 연결을 만든 후 연결의 URL에서 연결 ID를 가져옵니다. 예를 들어 URL이 'https://.../connections/shared_commondataservice/9f66d1d455f3474ebf24e4fa2c04cea2/details'인 경우 연결 ID는 9f66d1d455f3474ebf24e4fa2c04cea2입니다.

  3. 다음 예제 코드와 같이 customDeploymentSettings.json 파일을 편집하고 ConnectionReferences 속성에 ID를 붙여넣습니다.

    "ConnectionReferences": 
    [
            {
                "LogicalName": "new_sharedsharepointonline_b49bb",
                "ConnectionId": "#{connectionreference.new_sharedsharepointonline_b49bb}#",
                "ConnectorId": "/providers/Microsoft.PowerApps/apis/shared_sharepointonline"
            },
            {
                "LogicalName": "cat_CDS_Current",
                "ConnectionId": "#{connectionreference.cat_CDS_Current}#",
                "ConnectorId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"
            }
    ]
    
  4. 상기의 예와 같이 Replace Tokens 확장을 사용하고 구성에 토큰을 추가하는 경우 솔루션의 파이프라인을 열고 편집>변수를 선택합니다.

  5. 파이프라인 변수 화면에서 <connection_reference_logicalname> 연결을 만듭니다. 이 예에서 파이프라인 변수의 이름은 connection.cat_CDS_Current입니다.

  6. 이전에 찾은 연결 ID로 값을 설정합니다.

  7. 값이 일반 텍스트로 저장되지 않도록 하려면 이 값을 비밀로 유지를 선택합니다.

해당하는 경우 만드는 각 솔루션과 파이프라인에 대해 이 단계를 반복합니다.

배포 구성 파일에 환경 변수 JSON 만들기

customDeploymentConfiguration.json 파일의 EnvironmentVariables 속성은 솔루션을 환경으로 가져온 후 솔루션에서 Dataverse 환경 변수를 설정합니다.

중요

소스 제어 솔루션을 내보내면 환경 변수 값이 솔루션과 함께 내보내집니다. 환경 변수에 중요한 정보가 포함되어 있으면 보안 위험이 발생할 수 있습니다. 민감한 정보는 환경 변수에 저장하지 않는 것이 좋습니다. 환경 변수 값이 소스 제어되지 않도록 하는 한 가지 방법은 개발 환경에서 환경 변수 값에 대한 솔루션을 특별히 만들고 해당 솔루션에서 해당 값을 설정하는 것입니다. 이렇게 하면 값이 솔루션과 함께 내보내지고 소스 제어에 저장되지 않습니다.

  1. 솔루션의 환경 변수 구성 요소에서 환경 변수의 스키마 이름을 복사합니다.

    이름 레이블 아래의 비활성화된 텍스트 필드에서 강조 표시된 솔루션의 환경 변수 스키마 이름 스크린샷.

  2. 다음 예제 코드와 같이 customDeploymentSettings.json 파일을 편집하고 EnvironmentVariables 속성에 이름을 붙여넣습니다.

    {
        "EnvironmentVariables": [
            {
                "SchemaName": "cat_TextEnvironmentVariable",
                "Value": "#{variable.cat_TextEnvironmentVariable}#"
            },
            {
                "SchemaName": "cat_DecimalEnvironmentVariable",
                "Value": "#{variable.cat_DecimalEnvironmentVariable}#"
            },
            {
                "SchemaName": "cat_JsonEnvironmentVariable",
                "Value": "{\"name\":\"#{variable.cat_JsonEnvironmentVariable.name}#\"}"
            }
        ]    
    }
    
  3. 상기의 예와 같이 Replace Tokens 확장을 사용하고 구성에 토큰을 추가하는 경우 솔루션의 파이프라인을 열고 편집>변수를 선택합니다.

  4. 파이프라인 변수 화면에서 구성의 각 토큰에 대한 파이프라인 변수(예: variable.cat_TextEnvironmentVariable)를 만듭니다.

  5. 해당 환경에 대한 환경 변수 값으로 값을 설정하십시오.

  6. 값이 일반 텍스트로 저장되지 않도록 하려면 이 값을 비밀로 유지를 선택합니다.

해당하는 경우 만드는 각 솔루션과 파이프라인에 대해 이 단계를 반복합니다.

사용자 지정 배포 설정 JSON 파일 만들기

사용자 지정 배포 설정 JSON 파일에는 사용자를 대신하여 흐름을 활성화하고, 흐름의 소유권을 지정하고, Microsoft Entra 그룹과 캔버스 앱을 공유하고, 배포 후 Dataverse 그룹 팀을 만드는 설정이 포함되어 있습니다.

{
  "ActivateFlowConfiguration": [
    {
      "solutionComponentName": "DevOpsKitSampleFlow",
      "solutionComponentUniqueName": "0a43b549-50ed-ea11-a815-000d3af3a7c4",
      "activateAsUser": "#{activateflow.activateas.DevOpsKitSampleFlow}#"
    },
    {
      "solutionComponentName": "CallMeFromCanvasApp",
      "solutionComponentUniqueName": "71cc728c-2487-eb11-a812-000d3a8fe6a3",
      "activateAsUser": "#{activateflow.activateas.CallMeFromCanvasApp}#"
    },
    {
      "solutionComponentName": "GetEnvironmentVariables",
      "solutionComponentUniqueName": "d2f7f0e2-a1a9-eb11-b1ac-000d3a53c3c2",
      "activateAsUser": "#{activateflow.activateas.GetEnvironmentVariables}#"
    }
  ],
  "SolutionComponentOwnershipConfiguration": [
    {
      "solutionComponentType": 29,
      "solutionComponentName": "DevOpsKitSampleFlow",
      "solutionComponentUniqueName": "0a43b549-50ed-ea11-a815-000d3af3a7c4",
      "ownerEmail": "#{owner.ownerEmail.DevOpsKitSampleFlow}#"
    },
    {
      "solutionComponentType": 29,
      "solutionComponentName": "CallMeFromCanvasApp",
      "solutionComponentUniqueName": "71cc728c-2487-eb11-a812-000d3a8fe6a3",
      "ownerEmail": "#{owner.ownerEmail.CallMeFromCanvasApp}#"
    },
    {
      "solutionComponentType": 29,
      "solutionComponentName": "GetEnvironmentVariables",
      "solutionComponentUniqueName": "d2f7f0e2-a1a9-eb11-b1ac-000d3a53c3c2",
      "ownerEmail": "#{owner.ownerEmail.GetEnvironmentVariables}#"
    }
  ],
  "AadGroupCanvasConfiguration": [
    {
      "aadGroupId": "#{canvasshare.aadGroupId.DevOpsKitSampleCanvasApp}#",
      "canvasNameInSolution": "cat_devopskitsamplecanvasapp_c7ec5",
      "canvasDisplayName": "DevOpsKitSampleCanvasApp",
      "roleName": "#{canvasshare.roleName.DevOpsKitSampleCanvasApp}#"
    }
  ],
  "AadGroupTeamConfiguration": [
    {
      "aadGroupTeamName": "Sample Group Team Name",
      "aadSecurityGroupId": "#{team.samplegroupteamname.aadSecurityGroupId}#",
      "dataverseSecurityRoleNames": [
        "#{team.samplegroupteamname.role}#"
      ]
    }
  ]
}
  1. 상기의 JSON 코드 샘플을 customDeploymentSettings.json이라는 새 파일로 복사합니다.

  2. Git의 config 폴더에 파일을 저장합니다.

사용자 지정 배포 설정을 위한 config 폴더 구조의 스크린샷.

사용자 지정 배포 구성 파일에서 기본 환경 변수 JSON 만들기

customDeploymentConfiguration.jsonDefaultEnvironmentVariables 속성은 솔루션을 내보내고 소스 제어에 저장할 때 솔루션에서 Dataverse 기본 환경 변수를 설정하기 위해 내보내기 파이프라인에서 사용됩니다.

노트

기본 환경 변수 설정은 내보내기 파이프라인이 파이프라인 변수 VerifyDefaultEnvironmentVariableValues = True로 구성된 경우에만 적용됩니다.

  1. 솔루션의 환경 변수 구성 요소에서 환경 변수의 스키마 이름을 복사합니다.

    이름 레이블 아래의 비활성화된 텍스트 필드에서 강조 표시된 환경 변수 스키마 이름의 스크린샷.

  2. 다음 예제 코드와 같이 customDeploymentSettings.json 파일을 편집하고 DefaultEnvironmentVariables 속성에 이름을 붙여넣습니다.

    {
      "DefaultEnvironmentVariables": [
        [ "cat_TextEnvironmentVariable", "#{defaultvariable.cat_TextEnvironmentVariable}#" ],
        [ "cat_DecimalEnvironmentVariable", "#{defaultvariable.cat_DecimalEnvironmentVariable}#" ],
        [ "cat_jsonEnvironmentVariable", "{\"name\":\"#{defaultvariable.cat_jsonEnvironmentVariable.name}#\"}" ]
      ]
    }
    
  3. 상기의 예와 같이 Replace Tokens 확장을 사용하고 구성에 토큰을 추가하는 경우 솔루션의 파이프라인을 열고 편집>변수를 선택합니다.

  4. 파이프라인 변수 화면에서 구성의 각 토큰에 대한 파이프라인 변수(예: defaultvariable.cat_TextEnvironmentVariable)를 만듭니다.

해당하는 경우 만드는 각 솔루션과 파이프라인에 대해 이 단계를 반복합니다.

Microsoft Entra 그룹 캔버스 구성 JSON 만들기

customDeploymentConfiguration.json 파일의 AadGroupCanvasConfiguration 속성은 솔루션을 환경으로 가져온 후 솔루션의 캔버스 앱을 특정 Microsoft Entra 그룹과 공유합니다.

  1. 캔버스 앱 및 Microsoft Entra 그룹의 ID를 복사합니다.

    • 솔루션의 캔버스 앱 구성 요소에서 캔버스 앱의 스키마 이름을 가져옵니다.

      이름 레이블 아래의 비활성화된 텍스트 필드에서 강조 표시된 캔버스 앱 레이블 스키마 이름의 스크린샷.

    • Azure Portal의 그룹 페이지에서 Microsoft Entra 그룹 ID를 가져옵니다.

      개체 ID 레이블 옆에 있는 비활성화된 텍스트 상자에 강조 표시된 Microsoft Entra 그룹 ID의 스크린샷.

  2. 다음 예제 코드와 같이 customDeploymentSettings.json 파일을 편집하고 AadGroupCanvasConfiguration 속성에 ID를 붙여넣습니다.

    {
      "AadGroupCanvasConfiguration": [
        {
          "aadGroupId": "#{canvasshare.aadGroupId}#",
          "canvasNameInSolution": "cat_devopskitsamplecanvasapp_c7ec5",
          "roleName": "#{canvasshare.roleName}#"
        }
      ]
    }
    

    roleNameCanView, CanViewWithShareCanEdit일 수 있습니다.

  3. 상기의 예와 같이 Replace Tokens 확장을 사용하고 구성에 토큰을 추가하는 경우 솔루션의 파이프라인을 열고 편집>변수를 선택합니다.

  4. 파이프라인 변수 화면에서 구성의 각 토큰에 대한 파이프라인 변수(예: canvasshare.aadGroupId)를 만듭니다.

  5. 해당 특정 환경에 대해 앱을 공유해야 하는 Microsoft Entra 그룹 ID로 값을 설정합니다.

  6. 값이 일반 텍스트로 저장되지 않도록 하려면 이 값을 비밀로 유지를 선택합니다.

해당하는 경우 만드는 각 솔루션과 파이프라인에 대해 이 단계를 반복합니다.

Microsoft Entra 그룹 및 팀 구성 JSON 만들기

customDeploymentConfiguration.json 파일의 AadGroupTeamConfiguration 속성은 솔루션을 환경으로 가져온 후 Dataverse 팀 및 역할을 솔루션의 Microsoft Entra 그룹에 매핑합니다.

보안 역할이 대상 환경에서 수동으로 생성되지 않은 경우 솔루션에 추가해야 합니다. 하나 이상의 역할을 팀에 적용할 수 있습니다. 해당 역할은 그룹의 사용자에게 필요한 솔루션 구성 요소에 대한 권한을 제공합니다.

  1. Dataverse 팀 이름은 기존 팀이거나 Dataverse에서 생성되고 솔루션을 가져온 후 Microsoft Entra 그룹에 매핑되는 새 팀일 수 있습니다.

  2. Dataverse 역할은 솔루션을 가져온 후 팀에 적용되는 Dataverse의 모든 보안 역할이 될 수 있습니다. 역할에는 테이블 및 프로세스와 같이 솔루션에 필요한 리소스에 대한 권한이 있어야 합니다.

  3. 이전 섹션과 마찬가지로 Azure Portal의 그룹 페이지에서 Microsoft Entra 그룹 ID를 가져옵니다.

  4. 다음 예제 코드와 같이 customDeploymentSettings.json 파일을 편집하고 AadGroupTeamConfiguration 속성에 JSON을 붙여넣습니다.

    {
      "AadGroupTeamConfiguration": [
        {
          "aadGroupTeamName": "alm-accelerator-sample-solution",
          "aadSecurityGroupId": "#{team.aadSecurityGroupId}#",
          "dataverseSecurityRoleNames": [
            "ALM Accelerator Sample Role"
          ]
        }
      ]
    }
    
  5. 상기의 예와 같이 Replace Tokens 확장을 사용하고 구성에 토큰을 추가하는 경우 솔루션의 파이프라인을 열고 편집>변수를 선택합니다.

  6. 파이프라인 변수 화면에서 구성의 각 토큰에 대한 파이프라인 변수(예: team.aadSecurityGroupId)를 만듭니다.

  7. 값을 Microsoft Entra 그룹 ID로 설정하여 Dataverse의 팀과 연결합니다.

  8. 값이 일반 텍스트로 저장되지 않도록 하려면 이 값을 비밀로 유지를 선택합니다.

해당하는 경우 만드는 각 솔루션과 파이프라인에 대해 이 단계를 반복합니다.

솔루션 구성 요소 소유권 형태 JSON 만들기

customDeploymentConfiguration.json 파일의 SolutionComponentOwnershipConfiguration 속성은 솔루션을 환경으로 가져온 후 Dataverse 사용자에게 솔루션 구성 요소의 소유권을 할당합니다. 소유권 형태 할당은 파이프라인에서 솔루션을 가져온 후 기본적으로 서비스 주체 사용자가 소유하는 흐름과 같은 구성 요소에 유용하며 조직은 솔루션을 가져온 후 다시 할당하려고 합니다.

SolutionComponentOwnershipConfiguration 속성은 연결 참조가 없는 흐름도 활성화합니다. 흐름을 활성화하기 위한 연결 참조가 없을 때 지정된 사용자가 흐름을 활성화합니다.

노트

현재 파이프라인은 흐름의 소유권 형태를 설정하는 기능만 구현합니다.

  1. 솔루션 구성 요소 유형 코드는 solutioncomponent EntityType 웹 API 참조에 지정된 구성 요소 유형에 기반을 둡니다. 예를 들어 Power Automate 흐름은 구성 요소 유형 29입니다. 구성 요소 유형은 따옴표 표시 없이 정수 값으로 지정해야 합니다.

  2. 압축을 푼 솔루션에서 Power Automate 흐름 구성 요소의 고유한 이름을 가져옵니다.

    흐름은 생성될 때 고유한 이름이 필요하지 않습니다. 흐름에 대한 유일하고 진정한 고유 식별자는 시스템이 솔루션에서 할당하는 내부 ID입니다.

    압축을 푼 솔루션 워크플로 XML 파일의 스크린샷.

    WorkflowId를 보여주는 압축 해제된 솔루션 워크플로 XML의 스크린샷.

  3. Dataverse 또는 Microsoft 365의 사용자 레코드에서 담당자의 이메일 주소를 가져옵니다.

  4. 다음 예제 코드와 같이 customDeploymentSettings.json 파일을 편집하고 AadGroupTeamConfiguration 속성에 JSON을 붙여넣습니다.

    {
      "SolutionComponentOwnershipConfiguration": [
        {
          "solutionComponentType": 29,
          "solutionComponentUniqueName": "00000000-0000-0000-0000-00000000000",
          "ownerEmail": "#{owner.ownerEmail}#"
        },
        {
          "solutionComponentType": 29,
          "solutionComponentUniqueName": "00000000-0000-0000-0000-00000000000",
          "ownerEmail": "#{owner.ownerEmail}#"
        }
      ]
    }
    
  5. 상기의 예와 같이 Replace Tokens 확장을 사용하고 구성에 토큰을 추가하는 경우 솔루션의 파이프라인을 열고 편집>변수를 선택합니다.

  6. 파이프라인 변수 화면에서 구성의 각 토큰에 대한 파이프라인 변수(예: owner.ownerEmail)를 만듭니다.

  7. 값을 구성 요소 담당자의 이메일 주소로 설정하십시오.

  8. 값이 일반 텍스트로 저장되지 않도록 하려면 이 값을 비밀로 유지를 선택합니다.

해당하는 경우 만드는 각 솔루션과 파이프라인에 대해 이 단계를 반복합니다.

파이프라인에서 데이터 가져오기

솔루션을 대상 환경에 배포한 후 구성 또는 시드 데이터를 Dataverse 환경으로 가져올 수 있습니다. 파이프라인은 NuGet을 통해 사용할 수 있는 구성 마이그레이션 도구를 사용하여 데이터를 가져오도록 구성됩니다. 구성 데이터 관리에 대해 자세히 알아보기.

구성 데이터가 config 디렉터리의 루트에 저장되면 동일한 구성 데이터가 모든 환경에 배포됩니다. 환경별 구성 데이터 파일을 생성할 수 있습니다. 환경에 따라 이름이 지정된 config 디렉토리의 하위 디렉토리에 저장합니다. 디렉터리 이름은 유효성 검사, 테스트 및 프로덕션 환경에 대한 파이프라인을 설정할 때 생성한 EnvironmentName 변수와 일치해야 합니다. 환경별 구성 데이터 및 디렉터리가 없는 경우 파이프라인은 config 디렉터리의 루트에 있는 구성 데이터로 되돌아갑니다.

  1. 솔루션이 소스 제어되고 솔루션 파이프라인 YAML을 만든 Azure DevOps 리포지토리를 로컬 머신에 복제합니다.

  2. 아직 만들지 않은 경우 솔루션 폴더의 config 폴더에 config라는 디렉터리를 만듭니다.

    로컬 리포지토리의 솔루션 디렉터리 아래에 있는 config 디렉터리의 스크린샷.

  3. 구성 마이그레이션 도구를 설치합니다. NuGet에서 도구 다운로드의 지침을 따릅니다.

  4. 구성 마이그레이션 도구를 열고 스키마 만들기를 선택하고 계속을 선택합니다.

  5. 구성 데이터를 내보내려는 테넌트에 로그인합니다.

  6. 환경을 선택합니다.

  7. 내보낼 테이블과 열을 선택합니다.

  8. 저장하고 내보내기를 선택합니다. 데이터를 가져올 솔루션의 폴더에 있는 로컬 Azure DevOps 리포지토리의 디렉터리 경로 config\ConfigurationMigrationData에 데이터를 저장합니다.

    노트

    파이프라인은 솔루션을 가져온 후 데이터를 가져올 이 특정 폴더를 찾습니다. 폴더 이름과 위치가 여기에 제공된 것과 정확히 일치하는지 확인하십시오.

  9. 데이터를 내보낼 것인지 묻는 메시지가 표시되면 를 선택합니다.

  10. 내보낸 데이터와 동일한 위치를 선택하고 저장을 선택한 다음 데이터 내보내기를 선택합니다.

  11. 내보내기가 완료되면 data.zip 파일에서 ConfigurationMigrationData 디렉터리로 파일의 압축을 풉니다. data.zipSampleData.xml 파일을 삭제합니다.

    ConfigurationMigrationData 디렉터리에 압축이 풀린 구성 마이그레이션 데이터의 스크린샷.

  12. 데이터 변경 사항을 Azure DevOps에 커밋합니다.

다음 단계