애플리케이션 패키지 릴리스 채널 수정

애플리케이션 패키지 릴리스 채널 수정 (ALTER APPLICATION PACKAGE ... MODIFY RELEASE CHANNEL)


이 기능은 중화인민공화국에서는 사용할 수 없어요.

%naf%는 지원되는 클라우드 플랫폼에서 일반적으로 사용할 수 있어요. 자세한 내용은 Support for private connectivity, VPS, and government regions를 참조하세요.

기존 애플리케이션 패키지에 정의된 릴리스 채널을 수정해요. 이 명령을 사용하여 릴리스 채널을 수정하거나, 릴리스 채널에 할당된 버전이나 패치를 변경하거나, 릴리스 채널의 릴리스 지시문을 설정할 수 있어요.

이 항목의 구문은 릴리스 채널을 사용하는 애플리케이션 패키지에만 적용돼요. 자세한 내용은 Publish an app using release channels를 참조하세요. 릴리스 채널을 사용하지 않는 애플리케이션 패키지의 릴리스 지시문을 설정하려면 ALTER APPLICATION PACKAGE ... RELEASE DIRECTIVE (Legacy)를 참조하세요.

참조:

ALTER APPLICATION PACKAGE, ALTER APPLICATION PACKAGE ... VERSION, ALTER APPLICATION PACKAGE ... RELEASE DIRECTIVE (Legacy), SHOW RELEASE DIRECTIVES


출처: 문서

본문

Syntax

ALTER APPLICATION PACKAGE 
  REGISTER VERSION [  ]
  USING 
  [ LABEL = '' ]

ALTER APPLICATION PACKAGE 
  DEREGISTER VERSION 

ALTER APPLICATION PACKAGE 
  MODIFY RELEASE CHANNEL 
  ADD VERSION 

ALTER APPLICATION PACKAGE 
  MODIFY RELEASE CHANNEL 
  DROP VERSION 

ALTER APPLICATION PACKAGE 
  MODIFY RELEASE CHANNEL 
  ADD ACCOUNTS = ( . [ , . , ... ] )

ALTER APPLICATION PACKAGE 
  MODIFY RELEASE CHANNEL 
  REMOVE ACCOUNTS = ( . [ , . , ... ] )

ALTER APPLICATION PACKAGE 
  MODIFY RELEASE CHANNEL 
  SET ACCOUNTS = ( . [ , . , ... ] )

ALTER APPLICATION PACKAGE 
  MODIFY RELEASE CHANNEL 
  SET DEFAULT RELEASE DIRECTIVE
  VERSION = 
  PATCH = 
  [ UPGRADE_AFTER = '' ]
  [ UPGRADE_IN_MAINTENANCE_WINDOW = { TRUE | FALSE } ]
  [ UPGRADE_DEADLINE = '' ]

ALTER APPLICATION PACKAGE 
  MODIFY RELEASE CHANNEL 
  SET RELEASE DIRECTIVE 
  ACCOUNTS = ( . [ , . , ... ] )
  VERSION = 
  PATCH = 
  [ UPGRADE_AFTER = '' ]
  [ UPGRADE_IN_MAINTENANCE_WINDOW = { TRUE | FALSE } ]
  [ UPGRADE_DEADLINE = '' ]

ALTER APPLICATION PACKAGE 
  MODIFY RELEASE CHANNEL 
  MODIFY RELEASE DIRECTIVE 
  VERSION = 
  PATCH = 
  [ UPGRADE_AFTER = '' ]
  [ UPGRADE_IN_MAINTENANCE_WINDOW = { TRUE | FALSE } ]
  [ UPGRADE_DEADLINE = '' ]

ALTER APPLICATION PACKAGE 
  MODIFY RELEASE CHANNEL 
  UNSET RELEASE DIRECTIVE 

Parameters

name

애플리케이션 패키지의 식별자를 지정해요. 식별자에 공백, 특수 문자, 또는 대소문자가 섞인 문자가 포함되어 있다면 전체 문자열을 큰따옴표로 묶어야 해요. 큰따옴표로 묶인 식별자는 대소문자를 구분해요.

REGISTER VERSION [ version_identifier ] USING path_to_version_directory [ LABEL = 'display_label' ]

path_to_version_directory에 지정된 스테이지 경로에 있는 파일을 사용해서 애플리케이션 패키지에 새 버전을 등록해요. 등록된 버전은 ADD VERSION을 사용해서 할당하기 전까지는 어떤 릴리스 채널에도 할당되지 않아요.

version_identifier를 사용해서 버전 이름을 지정해요. manifest.yml 파일에 version_identifier를 지정하지 않았다면 이 명령에서 반드시 지정해야 해요. manifest.yml 파일에 버전 식별자를 정의했더라도 이 명령에서도 지정했다면 명령의 값이 우선해요. 명령과 manifest.yml 파일 모두 버전 식별자를 지정하지 않으면 명령은 오류와 함께 실패해요.

선택적 LABEL 절을 사용해서 버전의 표시 레이블을 지정할 수 있어요. 이 레이블은 소비자에게 표시돼요. 생략하면 manifest.yml 파일의 레이블이 사용돼요.

REGISTER VERSION은 릴리스 채널이 활성화된 애플리케이션 패키지에만 적용돼요. 릴리스 채널이 없는 애플리케이션 패키지에는 ALTER APPLICATION PACKAGE ... VERSION을 대신 사용해요.

DEREGISTER VERSION version_identifier

지정된 버전과 관련 패치를 애플리케이션 패키지에서 제거해요. 애플리케이션 패키지는 한 번에 최대 두 개의 등록된 버전을 가질 수 있어요. 애플리케이션 패키지에 이미 두 개의 버전이 있을 때 새 버전을 등록하기 전에 이 명령을 사용해서 버전 슬롯을 확보해요.

버전이 어떤 릴리스 채널에도 할당되지 않고, 해당 버전에서 실행 중인 설치된 애플리케이션 인스턴스가 없을 때만 버전을 등록 해제할 수 있어요.

MODIFY RELEASE CHANNEL release_channel

수정할 릴리스 채널을 지정해요. 지원되는 값은 다음과 같아요:

  • ALPHA
  • QA
  • DEFAULT

릴리스 채널에 대한 자세한 내용은 Publish an app using release channels를 참조해요.

MODIFY RELEASE CHANNEL release_channel ADD VERSION version_identifier

이전에 등록된 버전을 지정된 릴리스 채널에 추가해서, 해당 채널의 릴리스 지시문에서 사용할 수 있게 해요. 릴리스 채널은 한 번에 최대 두 개의 버전을 포함할 수 있어요.

QA 릴리스 채널에 버전을 추가해도 자동 보안 검사가 실행되지 않아요. 검사를 실행하려면 ALPHA 또는 DEFAULT 릴리스 채널에 버전을 추가해요.

MODIFY RELEASE CHANNEL release_channel DROP VERSION version_identifier

지정된 버전을 릴리스 채널에서 제거해요. 이 작업은 비동기적으로 수행돼요. 해당 버전의 모든 소비자 설치가 다른 버전으로 업그레이드된 후에만 버전이 완전히 제거돼요.

MODIFY RELEASE CHANNEL release_channel ADD ACCOUNTS = ( organization_name.account_name [ , ... ] )

지정된 소비자 계정을 릴리스 채널에 추가해서, 해당 채널에 할당된 버전과 패치에 접근할 수 있게 해요.

MODIFY RELEASE CHANNEL release_channel REMOVE ACCOUNTS = ( organization_name.account_name [ , ... ] )

지정된 소비자 계정을 릴리스 채널에서 제거해요.

MODIFY RELEASE CHANNEL release_channel SET ACCOUNTS = ( organization_name.account_name [ , ... ] )

릴리스 채널의 소비자 계정 전체 목록을 지정된 계정으로 교체해요. 이전에 채널에 있었지만 새 목록에 없는 모든 계정은 제거돼요.

VERSION = version_identifier PATCH = patch_num

지정된 사용자 정의 릴리스 지시문의 버전과 패치 수준을 수정해요.

SET

애플리케이션 패키지에 설정할 하나 이상의 속성을 지정해요. 속성은 공백, 쉼표, 또는 새 줄로 구분해요. 설정할 수 있는 속성에 대한 자세한 내용은 CREATE APPLICATION을 참조해요.

DEFAULT RELEASE DIRECTIVE VERSION = version_identifier PATCH = patch_num

소비자에게 기본적으로 설치되어야 하는 애플리케이션 패키지의 버전과 패치 수준을 설정해요.

RELEASE DIRECTIVE release_directive ACCOUNTS = ( organization_name.account_name [ , organization_name.account_name , ... ] ) VERSION = version_identifier PATCH = patch_num

지정된 계정에 대한 사용자 정의 릴리스 지시문을 만들어요.

ACCOUNTS 절을 사용해서 이 릴리스 지시문이 적용되는 계정 목록을 지정해요.

VERSION 및 PATCH 절을 사용해서 이 계정들에 설치할 버전 식별자와 패치 번호를 지정해요.

UPGRADE_AFTER = 'timestamp'

자동 업그레이드 프로세스가 시작되는 날짜와 시간을 지정해요. 소비자는 이 날짜 이전에 앱을 새 버전이나 패치로 수동 업그레이드할 수 있어요.

이 값은 유효한 날짜 및 시간 형식이면 무엇이든 될 수 있어요.

UPGRADE_IN_MAINTENANCE_WINDOW = { TRUE | FALSE }

TRUE로 설정하면 업그레이드가 소비자의 유지 관리 정책을 따르게 돼요. 즉시 업그레이드하는 대신, 소비자의 다음 유지 관리 창이나 업그레이드 기한 중 먼저 도래하는 시점까지 업그레이드가 지연돼요.

이 매개변수를 TRUE로 설정하면 UPGRADE_DEADLINE 매개변수가 필수예요.

UPGRADE_AFTER와 UPGRADE_IN_MAINTENANCE_WINDOW 매개변수를 동시에 설정할 수 없어요. 둘 다 설정하려고 하면 명령이 오류와 함께 실패해요.

자세한 내용은 Consumer-controlled maintenance policies: Provider guide를 참조해요.

UPGRADE_DEADLINE = 'timestamp'

UPGRADE_IN_MAINTENANCE_WINDOW가 TRUE로 설정된 경우 필수예요. 업그레이드가 완료되어야 하는 기한을 지정해요. 이 시간이 지나면 소비자의 유지 관리 정책과 관계없이 시스템이 애플리케이션을 자동으로 업그레이드해요.

소비자가 유지 관리 창 내에서 업그레이드를 완료할 수 있도록 충분한 시간을 허용하는 날짜와 시간으로 기한을 설정해요.

UNSET


애플리케이션 패키지에 대해 하나 이상의 속성 또는 세션 매개 변수를 설정 해제하여 기본값으로 재설정합니다.

UNSET RELEASE DIRECTIVE release_directive

지정된 사용자 지정 릴리스 지시문을 애플리케이션 패키지에서 제거합니다.

액세스 제어 요구 사항

이 작업을 실행하는 데 사용되는 role은 최소한 다음 privileges을(를) 보유해야 합니다.

Privilege Object Notes
OWNERSHIP Application package 애플리케이션 패키지의 릴리스 채널을 수정하거나 버전을 등록하는 데 필요합니다.
MANAGE VERSIONS Account 모든 애플리케이션 패키지에서 릴리스 채널 및 릴리스 지시문을 수정할 수 있는 전역 권한입니다.

지정된 권한 집합을 가진 사용자 지정 역할을 만드는 방법에 대한 지침은 을(를) 참조하세요.

securable objects에 대해 SQL 작업을 수행하기 위한 역할 및 권한 부여에 대한 일반적인 정보는 Overview of Access Control을(를) 참조하세요.

사용 참고 사항

  • 릴리스 지시문을 수정하려면 애플리케이션에 대한 OWNERSHIP 권한 또는 전역 MANAGE VERSIONS 권한이 필요합니다.
  • 선택적 속성에 대한 값을 지정하지 않으면 명령은 애플리케이션 매니페스트 파일에 지정된 값을 사용합니다.
  • 명령과 애플리케이션 매니페스트 파일 모두에서 속성 값을 지정하는 경우 명령에 지정된 값이 우선합니다.

예제

다음 예제에서는 기본 릴리스 채널에 버전 V1을 추가합니다.

ALTER APPLICATION PACKAGE my_app_package
  MODIFY RELEASE CHANNEL DEFAULT
  ADD VERSION V1;
+---------------------------------------------------------------------------------------------------------+
| status                                                                                                  |
|---------------------------------------------------------------------------------------------------------|
| Version V1 added to release channel DEFAULT in application package my_app_package                       |
+---------------------------------------------------------------------------------------------------------+

다음 예제에서는 기본 릴리스 채널의 기본 릴리스 지시문을 수정하여 버전을 V1로, 패치를 0으로 설정합니다.

ALTER APPLICATION PACKAGE my_app_package
  MODIFY RELEASE CHANNEL DEFAULT
  SET DEFAULT RELEASE DIRECTIVE
  VERSION = V1
  PATCH = 0;
+---------------------------------------------------------------------------------------------------------+
| status                                                                                                  |
|---------------------------------------------------------------------------------------------------------|
| Version V1 added to release channel DEFAULT in application package my_app_package                       |
+---------------------------------------------------------------------------------------------------------+

다음 예제에서는 애플리케이션 패키지에 버전 V2를 등록합니다.

ALTER APPLICATION PACKAGE my_app_package
  REGISTER VERSION V2
  USING '@my_app_package.core.app_stage/v2';
+---------------------------------------------------------------------------------------------------------+
| status                                                                                                  |
|---------------------------------------------------------------------------------------------------------|
| Version V2 registered in application package my_app_package                                             |
+---------------------------------------------------------------------------------------------------------+

다음 예제에서는 ORG1.ACCOUNT1 계정을 ALPHA 릴리스 채널에 추가합니다.

ALTER APPLICATION PACKAGE my_app_package
  MODIFY RELEASE CHANNEL ALPHA
  ADD ACCOUNTS = (ORG1.ACCOUNT1);
+---------------------------------------------------------------------------------------------------------+
| status                                                                                                  |
|---------------------------------------------------------------------------------------------------------|
| Statement executed successfully.                                                                        |
+---------------------------------------------------------------------------------------------------------+

더 알아보기 (Learn more)