릴리스 채널을 사용하여 앱 게시하기¶
이 항목에서는 릴리스 채널을 사용하여 Snowflake Native App 의 여러 버전을 관리하고 게시하는 방법에 대해 설명합니다.
릴리스 채널 정보¶
릴리스 채널을 통해 공급자는 앱 개발 라이프사이클의 여러 스테이지에서 앱을 게시할 수 있습니다. 예를 들어 공급자는 릴리스 채널을 사용하여 다음과 같은 작업을 수행할 수 있습니다.
앱을 테스트합니다.
컨슈머에게 미리 보기 또는 UAT (사용자 승인 테스트)용으로 앱을 게시합니다.
앱을 프로덕션 환경에 게시합니다.
공급자는 애플리케이션 패키지에서 릴리스 채널을 활성화합니다. 릴리스 채널을 사용하면 공급자는 앱의 버전을 두 개 이상 만들 수 있습니다. 2개 버전 제한은 애플리케이션 패키지별이 아닌 각 릴리스 채널에 적용됩니다.
지원되는 릴리스 채널¶
Snowflake Native App Framework 는 다음 릴리스 채널을 지원합니다. 공급자가 사용하는 특정 릴리스 채널은 앱 개발 라이프사이클의 현재 스테이지에 따라 다릅니다.
QA: 이 릴리스 채널에 할당된 앱의 버전 및 패치는 공급자의 조직 내 컨슈머만 사용할 수 있습니다. 이 릴리스 채널을 사용하여 게시된 앱은 해당 조직 내의 특정 계정을 대상으로 해야 합니다.
공급자는 이 릴리스 채널을 테스트에 사용할 수 있습니다. QA 릴리스 채널을 사용하여 게시된 앱은 자동 보안 검사 를 실행할 필요가 없습니다.
ALPHA: 이 릴리스 채널에 할당된 앱의 버전 및 패치는 공급자의 조직 외부에 있는 컨슈머에게 게시할 수 있습니다. 앱이 이 릴리스 채널에 할당되면 자동화된 보안 검사가 수행됩니다.
보안 검사가 진행되는 동안 공급자는 이 버전에 대한 릴리스 지시문을 설정할 수 있으며, 컨슈머는 자신의 계정에 이를 설치할 수 있습니다. 그러나 이 릴리스 채널에 할당된 버전이 보안 검사에 실패하면 더 이상 사용할 수 없습니다.
공급자는 이 채널을 사용하여 앱을 개발하는 동안 컨슈머와 협업할 수 있습니다.
DEFAULT: 이 릴리스 채널에 할당된 앱의 버전 및 패치는 해당 앱 버전 또는 패치에 액세스할 수 있는 모든 컨슈머가 사용할 수 있습니다. 이 릴리스 채널에 할당된 앱은 자동화된 보안 검사를 통과해야 합니다.
이 릴리스 채널은 제품 릴리스 채널입니다. 이 릴리스 채널에 할당된 모든 앱은 앱 게시를 위한 보안 요구 사항 및 가이드라인을 준수해야 합니다. 자세한 내용은 Snowflake Native App 의 보안 요구 사항 및 지침 섹션을 참조하십시오.
릴리스 채널을 사용하는 데 필요한 권한¶
릴리스 채널을 사용하려면 MANAGE RELEASES 권한이 부여된 역할을 사용해야 합니다. 이 권한을 사용하면 다음을 수행할 수 있습니다.
애플리케이션 패키지에서 릴리스 채널을 활성화합니다.
QA 및 ALPHA 릴리스 채널을 활성화합니다.
버전 및 패치를 등록 및 등록 취소합니다.
버전 및 패치를 추가합니다.
릴리스 지시문을 설정합니다.
애플리케이션 패키지에 대한 릴리스 채널 활성화하기¶
릴리스 채널을 사용하여 앱을 관리하고 게시하려면 공급자는 다음 명령에 표시된 대로 애플리케이션 패키지의 ENABLE_RELEASE_CHANNELS 절을 사용하여 릴리스 채널을 활성화해야 합니다.
CREATE APPLICATION PACKAGE my_app_package ENABLE_RELEASE_CHANNELS=TRUE;
ALTER APPLICATION PACKAGE my_app_package SET ENABLE_RELEASE_CHANNELS=TRUE;
경고
애플리케이션 패키지에 대해 릴리스 채널을 활성화한 후에는 비활성화할 수 없습니다.
ALPHA 및 QA 릴리스 채널 활성화하기¶
기본적으로 모든 컨슈머는 DEFAULT 릴리스 채널만 사용할 수 있으며, 액세스 권한이 있는 목록에서 앱을 설치할 수 있습니다.
QA 및 ALPHA 릴리스 채널을 사용하려면 공급자는 특정 계정의 애플리케이션 패키지에서 해당 채널을 명시적으로 사용하도록 설정해야 합니다. 이러한 채널의 경우 애플리케이션 패키지는 각 채널에 추가된 계정 목록을 유지 관리합니다.
공급자는 ALTER APPLICATION 명령의 MODIFY RELEASE CHANNEL 절을 사용하여 릴리스 채널에 계정을 추가할 수 있습니다.
ALPHA 릴리스 채널에 ORG1.ACCOUNT1 계정을 추가하려면 다음을 수행하십시오.
ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL ALPHA ADD ACCOUNTS=(ORG1.ACCOUNT1);
ALPHA 릴리스 채널에서 ORG1.ACCOUNT1 계정을 제거하려면 다음을 수행하십시오.
ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL ALPHA REMOVE ACCOUNTS=(ORG1.ACCOUNT1);
릴리스 채널에 추가된 현재 계정 목록을 덮어쓰려면 공급자는 다음 예에 표시된 것처럼 ALTER APPLICATION PACKAGE 명령의 SET 절을 사용할 수 있습니다.
ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL ALPHA SET ACCOUNTS=(ORG1.ACCOUNT2);
이 명령은 ALPHA 릴리스 채널에서 현재 계정을 모두 제거하고 ORG1.ACCOUNT2 계정을 추가합니다.
릴리스 채널 모니터링하기¶
애플리케이션 패키지 또는 목록에 정의된 릴리스 채널 보기¶
애플리케이션 패키지에 정의된 릴리스 채널을 보려면 다음 예시와 같이 SHOW RELEASE CHANNELS 명령을 사용합니다.
SHOW RELEASE CHANNELS IN APPLICATION PACKAGE my_app_package;
목록에 정의된 릴리스 채널을 보려면 다음 예시와 같이 SHOW RELEASE CHANNELS 명령을 사용합니다.
SHOW RELEASE CHANNELS IN LISTING <listing_id>;
설치된 앱의 릴리스 채널 보기¶
앱의 모든 설치된 인스턴스에 대한 릴리스 채널을 보려면 SNOWFLAKE.DATA_SHARING_USAGE.APPLICATION_STATE 뷰의 current_release_channel_name
열을 확인하십시오.
릴리스 채널을 사용하여 버전 및 패치 관리하기¶
공급자는 특정 릴리스 채널에 버전 또는 패치를 추가해야 릴리스 채널 내에서 릴리스 지시문에서 사용할 수 있습니다. 릴리스 채널에 버전이 추가되면 해당 버전에 대한 후속 패치도 해당 릴리스 채널에 바인딩되어 사용할 수 있습니다.
참고
ALTER APPLICATION PACKAGE 명령의 ADD VERSION USING ‘@stage/path’
절은 릴리스 채널이 활성화된 애플리케이션 패키지에 대해서는 지원되지 않습니다. 공급자는 애플리케이션 패키지에서 버전을 등록하고 등록을 취소해야 합니다.
버전 등록하기¶
릴리스 채널이 있는 애플리케이션 패키지에 새 버전의 앱을 추가하기 전에 공급자는 ALTER APPLICATION PACKAGE 명령의 REGISTER 절을 사용하여 릴리스 채널에 해당 버전을 등록해야 합니다.
ALTER APPLICATION PACKAGE my_app_package REGISTER VERSION V1 USING '@stage/path';
이 명령은 앱의 버전 V1을 생성하고 패치 0도 생성합니다. 이 버전은 릴리스 채널에 할당되지 않았습니다. 애플리케이션 패키지에는 최대 두 개의 할당되지 않은 버전(릴리스 채널에 추가되지 않은 버전)이 허용됩니다.
버전 등록 취소하기¶
이미 두 가지 버전이 있는 애플리케이션 패키지에서 새 버전을 만들려면 공급자는 이전 버전을 등록 취소해야 합니다.
버전 및 관련 패치의 등록을 취소하려면 ALTER APPLICATION PACKAGE 의 DEREGISTER 절을 사용하십시오. 다음 명령은 애플리케이션 패키지에서 버전 v1
을 등록 취소하는 방법을 보여줍니다.
ALTER APPLICATION PACKAGE my_app_package DEREGISTER VERSION v1;
참고
릴리스 채널을 사용할 때는 애플리케이션 패키지에서 기존 버전을 제거할 필요가 없습니다.
릴리스 채널에 버전 추가하기¶
애플리케이션 패키지에 새 버전의 앱을 등록한 후 릴리스 채널에 해당 버전을 명시적으로 추가하여 앱의 릴리스 지시문을 설정해야 합니다.
릴리스 채널에 버전을 추가하려면 ALTER APPLICATION PACKAGE 명령의 ADD VERSION 절을 사용합니다.
ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL QA ADD VERSION V1;
참고
릴리스 채널에는 동시에 두 가지 버전만 포함할 수 있습니다.
릴리스 채널에서 버전 제거하기¶
릴리스 채널에서 버전을 제거하려면 ALTER APPLICATION PACKAGE 의 DROP 절을 사용합니다.
ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL QA DROP VERSION V1;
릴리스 채널에서 버전을 제거하는 것은 비동기식이며 모든 컨슈머가 해당 버전에서 업그레이드한 후에만 실제로 제거됩니다.
릴리스 채널을 사용하여 릴리스 지시문 설정하기¶
애플리케이션 패키지에 대해 릴리스 채널을 활성화하면 각 채널에는 고유한 릴리스 지시문이 있습니다.
릴리스 채널의 기본 릴리스 지시문을 설정하려면 다음을 수행하십시오.
ALTER APPLICATION PACKAGE my_app_package
MODIFY RELEASE CHANNEL ALPHA
SET DEFAULT RELEASE DIRECTIVE VERSION=v1 PATCH=10;
릴리스 채널의 사용자 지정 릴리스 지시문을 설정하려면 다음을 수행하십시오.
ALTER APPLICATION PACKAGE my_app_package
MODIFY RELEASE CHANNEL ALPHA
SET RELEASE DIRECTIVE my_custom_release_directive
VERSION=V1 PATCH=11 ACCOUNTS=(ORG1.ACCOUNT1);
릴리스 채널을 사용하여 여러 인스턴스 활성화하기¶
컨슈머가 자신의 계정에서 앱의 인스턴스를 여러 개 생성하도록 허용할 수 있습니다. 공급자는 테스트 계정에서 앱의 인스턴스를 여러 개 만들 수도 있습니다.
여러 인스턴스를 활성화하려면 다음 명령에 표시된 대로 애플리케이션 패키지의 MULTIPLE_INSTANCES 속성을 사용합니다.
CREATE APPLICATION PACKAGE <name> MULTIPLE_INSTANCES=TRUE;
ALTER APPLICATION PACKAGE <name> SET MULTIPLE_INSTANCES=TRUE;
참고
애플리케이션 패키지에 대해 여러 인스턴스를 사용하도록 설정하면 애플리케이션 패키지 내의 모든 릴리스 채널에 적용됩니다.
수익 창출 및 릴리스 채널¶
DEFAULT 릴리스 채널을 사용하여 설치된 모든 앱 인스턴스는 목록에 구성된 요금제를 사용합니다.
ALPHA 및 QA 릴리스 채널에서 설치된 앱 인스턴스는 무료이며 목록에 구성된 요금제를 사용하지 않습니다.
릴리스 채널을 사용하여 앱 설치하기¶
공급자는 CREATE APPLICATION 을 사용하여 테스트 환경의 릴리스 채널에서 앱을 만들 수 있습니다.
참고
QA 또는 ALPHA 릴리스 채널에서 앱을 설치하려면 CREATE PREVIEW APPLICATION 권한이 부여된 역할을 사용해야 합니다.
동일한 계정의 애플리케이션 패키지에서 앱을 설치하려면 다음 명령을 실행합니다.
CREATE APPLICATION my_app
FROM APPLICATION PACKAGE my_app_package
USING RELEASE CHANNEL QA;
USING RELEASE CHANNEL
절을 명시적으로 사용하지 않으면 DEFAULT 릴리스 채널이 사용됩니다.
목록에서 다른 계정에 앱을 설치하려면 다음 명령을 실행합니다.
CREATE APPLICATION my_app
FROM LISTING
USING RELEASE CHANNEL QA;
USING RELEASE CHANNEL
절을 명시적으로 사용하지 않으면 DEFAULT 릴리스 채널이 사용됩니다.