원격 구성 템플릿 및 버전 관리


Remote Config 템플릿은 Firebase 프로젝트에 대해 만든 JSON 형식의 파라미터 및 조건 집합입니다. 앱이 값을 가져오는 클라이언트 템플릿과 서버 클라이언트가 값을 가져오는 서버 템플릿을 만들 수 있습니다.

이 섹션에서는 서버 템플릿을 설명합니다. 클라이언트별 템플릿에 대해 알아보려면 클라이언트 템플릿을 클릭합니다.

파라미터조건 탭에 템플릿 콘텐츠가 그래픽 형식으로 표시되는 Firebase Console을 사용하여 템플릿을 수정하고 관리할 수 있습니다.

다음은 서버 템플릿 파일의 예시입니다.

{
  "parameters": {
    "preamble_prompt": {
      "defaultValue": {
        "value": "You are a helpful assistant who knows everything there is to know about Firebase! "
      },
      "description": "Add this prompt to the user's prompt",
      "valueType": "STRING"
    },
    "model_name": {
      "defaultValue": {
        "value": "gemini-pro-test"
      },
      "valueType": "STRING"
    },
    "generation_config": {
      "defaultValue": {
        "value": "{\"temperature\": 0.9, \"maxOutputTokens\": 2048, \"topP\": 0.9, \"topK\": 20}"
      },
      "valueType": "JSON"
    },
  },
  "version": {
    "versionNumber": "19",
    "isLegacy": true
  }
}

Firebase Console에서 다음과 같은 버전 관리 작업을 수행할 수 있습니다.

  • 저장된 모든 템플릿 버전 나열
  • 특정 버전 검색
  • 특정 버전으로 롤백
  • 변경 내역 페이지에서 Remote Config 템플릿 삭제

템플릿 유형당 전체 기간 저장된 버전은 총 300개로 제한되며(클라이언트 템플릿 300개 및 서버 템플릿 300개) 삭제된 템플릿의 저장된 버전 번호가 포함됩니다. 프로젝트의 전체 기간 동안 템플릿 유형당 300개가 넘는 템플릿 버전을 게시하면 가장 초기 버전이 삭제되고 해당 유형의 최대 300개의 버전이 유지됩니다.

파라미터를 업데이트할 때마다 Remote Config은 새 버전의 Remote Config 템플릿을 만들고 필요에 따라 이전 템플릿을 검색하거나 롤백할 수 있는 버전으로 저장합니다. 버전 번호는 Remote Config에서 저장한 초깃값부터 순차적으로 증가합니다. 모든 템플릿에는 표시된 대로 특정 버전에 대한 메타데이터가 포함된 version 필드가 있습니다.

필요에 따라 Remote Config 콘솔의 변경 내역 페이지에서 Remote Config 템플릿을 삭제할 수 있습니다.

Remote Config 템플릿 버전 관리

이 섹션에서는 Remote Config 템플릿의 버전을 관리하는 방법을 설명합니다.

Remote Config 템플릿의 저장된 모든 버전 나열

Remote Config 템플릿의 저장된 모든 버전 목록을 검색할 수 있습니다. 방법은 다음과 같습니다.

  1. Firebase Console에서 Remote Config을 엽니다.

  2. 그런 다음 파라미터 탭의 오른쪽 상단에 표시된 '시계' 아이콘을 선택합니다.

    그러면 Change history(변경 내역) 페이지가 열리고 저장된 모든 템플릿 버전이 오른쪽에 있는 목록 메뉴에 나열됩니다.

    템플릿 목록에는 업데이트 시간, 업데이트 사용자, 업데이트 방법 등 저장된 모든 버전의 메타데이터가 포함됩니다.

Remote Config 템플릿의 특정 버전 검색

Remote Config 템플릿의 저장된 특정 버전을 검색할 수 있습니다. 저장된 템플릿을 검색하려면 다음을 수행하세요.

  1. 변경 내역의 세부정보 창을 엽니다.

  2. 목록에서 다른 버전에 대한 세부정보를 보려면 오른쪽 메뉴에서 해당 버전을 선택하세요.

  3. 선택되지 않은 버전의 컨텍스트 메뉴로 마우스를 이동하고 선택한 버전과 비교를 선택하여 활성 템플릿 및 다른 저장된 버전 간의 차이를 자세히 확인할 수 있습니다.

Remote Config 템플릿의 저장된 특정 버전으로 롤백

저장된 버전의 템플릿으로 롤백할 수 있습니다. 템플릿을 롤백하려면 다음을 수행하세요.

  1. 변경 내역 페이지 오른쪽 상단에서 옵션 버튼을 찾습니다. 해당 버전으로 롤백하고 모든 앱과 사용자에 대해 해당 값을 즉시 사용하려는 경우에만 이 버튼을 클릭하고 확인합니다.

이 롤백 작업은 실제로 새 번호가 지정된 버전을 만듭니다. 예를 들어 버전 10에서 버전 6으로 롤백하면 버전 6의 새 사본이 실제로 만들어지는데 이 사본은 버전 번호가 11이라는 점만 버전 6의 원본과 다릅니다. 원본인 버전 6이 아직 만료되지 않았다고 가정하면 버전 6은 그대로 저장되고 버전 11이 활성 템플릿이 됩니다.

Remote Config 템플릿 삭제

Firebase Console에서 Remote Config 템플릿을 삭제할 수 있습니다. Remote Config 템플릿을 삭제하려면 다음 안내를 따르세요.

1. Remote Config 파라미터 페이지에서 변경 내역을 클릭합니다.
  1. 삭제할 템플릿으로 전환하고 더보기를 클릭한 후 삭제를 선택합니다.

  2. 삭제를 확인하는 메시지가 표시되면 삭제를 클릭합니다.

Remote Config 템플릿 다운로드 및 게시

Remote Config 템플릿을 다운로드 및 게시하여 소스 제어 및 빌드 시스템에 통합하고 구성 업데이트를 자동화하며 여러 프로젝트에서 파라미터 및 값을 동기화합니다.

현재 활성 Remote Config 템플릿을 다운로드하거나 Firebase Console에서 다운로드할 수 있습니다. 그런 다음 내보낸 JSON 파일을 업데이트하고 같은 프로젝트에 게시하거나 새 프로젝트 또는 기존 프로젝트에 게시할 수 있습니다.

개발, 테스트, 스테이징, 프로덕션 환경과 같이 소프트웨어 개발 수명 주기의 여러 단계를 나타내는 여러 프로젝트가 있다고 가정해 보겠습니다. 이 경우 스테이징 프로젝트에서 템플릿을 다운로드하고 프로덕션 프로젝트에 개시하여 완전 테스트 템플릿을 스테이징 환경에서 프로덕션 환경으로 승격할 수 있습니다.

이 방법을 사용하여 한 프로젝트에서 다른 프로젝트로 구성을 마이그레이션하거나 기존 프로젝트의 매개변수와 값으로 새 프로젝트를 채울 수도 있습니다.

A/B Testing 실험에서 특히 변수로 생성된 파라미터 및 파라미터 값은 내보낸 템플릿에 포함되지 않습니다.

Remote Config 템플릿을 내보내고 가져오려면 다음 단계를 따르세요.

  1. 현재 Remote Config 구성 템플릿을 다운로드합니다.
  2. Remote Config 템플릿의 유효성을 검사합니다.
  3. Remote Config 템플릿을 게시합니다.

현재 원격 구성 템플릿 다운로드

다음을 사용하여 활성 Remote Config 템플릿을 JSON 형식으로 다운로드합니다.

  1. Remote Config 파라미터 또는 조건 탭에서 메뉴를 열고 현재 구성 파일 다운로드를 선택합니다.
  2. 메시지가 표시되면 구성 파일 다운로드를 클릭하고 파일을 저장할 위치를 선택한 후 저장을 클릭합니다.

원격 구성 템플릿 유효성 검사

서버 템플릿은 Firebase Console에서 게시하려고 할 때 검증됩니다. 임의 비율 조건의 사용자는 가져올 수 있지만 지원되지 않는 조건이 있으면 업로드 중에 오류가 발생합니다. 원래 클라이언트 템플릿에서 내보낸 템플릿을 게시하려는 경우 먼저 클라이언트별 조건을 삭제해야 합니다.

Remote Config 템플릿 게시

템플릿을 다운로드하고, 필요에 따라 JSON 콘텐츠를 변경하고, 검증한 후 프로젝트에 게시할 수 있습니다.

템플릿을 게시하면 기존 구성 템플릿 전체가 업데이트된 파일로 대체되고 템플릿 버전이 1씩 증가합니다. 전체 구성이 교체되므로 JSON 파일에서 매개변수를 삭제하고 게시하면 매개변수가 서버에서 삭제되고 더 이상 클라이언트가 사용할 수 없게 됩니다.

게시 후에는 매개변수와 값의 변경사항을 앱과 사용자에게 즉시 적용할 수 있습니다. 필요한 경우 이전 버전으로 롤백할 수 있습니다.

다음 명령어를 사용하여 템플릿을 게시합니다.

  1. Remote Config 파라미터 또는 조건 탭에서 메뉴를 열고 파일에서 게시하기를 선택합니다.
  2. 메시지가 표시되면 찾아보기를 클릭하고 게시할 Remote Config 파일로 이동하여 선택한 다음 선택을 클릭합니다.
  3. 파일은 유효성 검사를 거치게 되며, 성공하면 게시를 클릭하여 앱과 사용자가 즉시 구성을 사용할 수 있도록 할 수 있습니다.

다음 단계