Publicar um aplicativo usando canais de lançamento

Este tópico descreve como usar canais de lançamento para gerenciar e publicar várias versões de um Snowflake Native App.

Sobre os canais de lançamento

Os canais de lançamento permitem que os provedores publiquem aplicativos em diferentes estágios do ciclo de vida de desenvolvimento de aplicativos. Por exemplo, um provedor pode usar canais de lançamento para realizar as seguintes tarefas:

  • Testar um aplicativo.

  • Publicar um aplicativo para os consumidores como uma versão preliminar ou para UAT (teste de aceitação do usuário).

  • Publicar o aplicativo em um ambiente de produção.

Os provedores habilitam os canais de lançamento no pacote de aplicativos. Usando canais de lançamento, um provedor pode criar mais de duas versões de um aplicativo. O limite de duas versões se aplica a cada canal de lançamento, e não a cada pacote de aplicativos.

Canais de lançamento compatíveis

O Snowflake Native App Framework é compatível com os seguintes canais de lançamento. O canal de lançamento específico que um provedor usa depende do estágio atual do ciclo de vida de desenvolvimento do aplicativo.

  • QA: as versões e os patches de um aplicativo atribuídos a esse canal de lançamento estão disponíveis apenas para os consumidores da organização do provedor. Os aplicativos publicados usando esse canal de lançamento devem ser direcionados a uma conta específica dessa organização.

    Os provedores podem usar esse canal de lançamento para testes. Os aplicativos publicados usando o canal de lançamento QA não precisam executar a varredura de segurança automatizada.

  • ALPHA: as versões e os patches de um aplicativo atribuído a esse canal de lançamento podem ser publicados para consumidores fora da organização do provedor. Quando um aplicativo é atribuído a esse canal de lançamento, a verificação de segurança automatizada é executada.

    Enquanto a verificação de segurança está em andamento, o provedor pode definir a diretiva de lançamento para essa versão, e os consumidores podem instalá-la em suas contas. No entanto, se uma versão atribuída a esse canal de lançamento falhar na verificação de segurança, ela não poderá mais ser usada.

    Os provedores podem usar esse canal para colaborar com os consumidores durante o desenvolvimento de um aplicativo.

  • DEFAULT: as versões e os patches de um aplicativo atribuído a esse canal de lançamento estão disponíveis para todos os consumidores que têm acesso à versão ou ao patch do aplicativo. Os aplicativos atribuídos a esse canal de lançamento devem ser aprovados na verificação de segurança automatizada.

    Esse canal de lançamento é o canal de lançamento de produção. Todos os aplicativos atribuídos a esse canal de lançamento devem estar em conformidade com os requisitos e as diretrizes de segurança para a publicação de um aplicativo. Para obter mais informações, consulte Requisitos e diretrizes de segurança para um Snowflake Native App.

Privilégios necessários para usar os canais de lançamento

Para usar os canais de lançamento, você deve usar uma função que tenha recebido o privilégio MANAGE RELEASES. Esse privilégio permite que você:

  • Habilite os canais de lançamento no pacote de aplicativos.

  • Habilite os canais de lançamento QA e ALPHA.

  • Registre e cancele o registro de versões e patches.

  • Adicione versões e patches.

  • Defina a diretriz de lançamento.

Habilitar canais de lançamento para um pacote de aplicativos

Para usar os canais de lançamento para gerenciar e publicar um aplicativo, os provedores devem habilitar os canais de lançamento usando a cláusula ENABLE_RELEASE_CHANNELS do pacote de aplicativos, conforme mostrado nos comandos a seguir:

CREATE APPLICATION PACKAGE my_app_package ENABLE_RELEASE_CHANNELS=TRUE;
ALTER APPLICATION PACKAGE my_app_package SET ENABLE_RELEASE_CHANNELS=TRUE;
Copy

Aviso

Depois que os canais de lançamento são habilitados para um pacote de aplicativos, eles não podem ser desabilitados.

Habilitar os canais de lançamento ALPHA e QA

Por padrão, somente o canal de lançamento DEFAULT está disponível para todos os consumidores e permite que eles instalem um aplicativo a partir de uma listagem à qual tenham acesso.

Para usar os canais de lançamento QA e ALPHA, os provedores devem habilitá-los explicitamente no pacote de aplicativos para contas específicas. Para esses canais, o pacote de aplicativos mantém uma lista de contas que foram adicionadas a cada canal.

Os provedores podem adicionar uma conta a um canal de lançamento usando a cláusula MODIFY RELEASE CHANNEL do comando ALTER APPLICATION.

Para adicionar a conta ORG1.ACCOUNT1 ao canal de lançamento ALPHA:

ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL ALPHA ADD ACCOUNTS=(ORG1.ACCOUNT1);
Copy

Para remover a conta ORG1.ACCOUNT1 do canal de lançamento ALPHA:

ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL ALPHA REMOVE ACCOUNTS=(ORG1.ACCOUNT1);
Copy

Para sobrescrever a lista atual de contas adicionadas a um canal de lançamento, um provedor pode usar a cláusula SET do comando ALTER APPLICATION PACKAGE, conforme mostrado no exemplo a seguir:

ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL ALPHA SET ACCOUNTS=(ORG1.ACCOUNT2);
Copy

Esse comando remove todas as contas atuais do canal de lançamento ALPHA e adiciona a conta ORG1.ACCOUNT2.

Monitoramento dos canais de lançamento

Visualizar os canais de lançamento definidos em um pacote de aplicativos ou listagem

Para visualizar os canais de lançamento definidos no pacote de aplicativos, use o comando SHOW RELEASE CHANNELS, conforme mostrado no exemplo a seguir:

SHOW RELEASE CHANNELS IN APPLICATION PACKAGE my_app_package;
Copy

Para visualizar os canais de lançamento definidos para uma listagem, use o comando SHOW RELEASE CHANNELS, conforme mostrado no exemplo a seguir:

SHOW RELEASE CHANNELS IN LISTING <listing_id>;
Copy

Exibir o canal de lançamento de um aplicativo instalado

Para visualizar os canais de lançamento de todas as instâncias instaladas de um aplicativo, veja a coluna current_release_channel_name da visualização SNOWFLAKE.DATA_SHARING_USAGE.APPLICATION_STATE.

Gerenciar versões e patches usando canais de lançamento

Os provedores devem adicionar uma versão ou patch a um canal de lançamento específico antes de poderem ser usados pelas diretivas de lançamento dentro de um canal de lançamento. Depois que uma versão é adicionada a um canal de lançamento, os patches subsequentes para essa versão também são vinculados a esse canal de lançamento para serem usados.

Nota

A cláusula ADD VERSION USING ‘@stage/path’ do comando ALTER APPLICATION PACKAGE não é compatível com os pacotes de aplicativos que têm canais de lançamento ativados. Os provedores devem registrar e cancelar o registro de uma versão no pacote de aplicativos.

Registrar uma versão

Antes de adicionar uma nova versão de um aplicativo a um pacote de aplicativos com canais de lançamento, os provedores devem registrar a versão no canal de lançamento usando a cláusula REGISTER do comando ALTER APPLICATION PACKAGE:

ALTER APPLICATION PACKAGE my_app_package REGISTER VERSION V1 USING '@stage/path';
Copy

Esse comando cria a versão V1 do aplicativo e também cria o patch 0. Essa versão não está atribuída a nenhum canal de lançamento. Há um máximo de duas versões não atribuídas (não adicionadas a nenhum canal de lançamento) permitidas no pacote de aplicativos.

Cancelar o registro de uma versão

Para criar uma nova versão em um pacote de aplicativos que já tenha duas versões, os provedores devem cancelar o registro de uma versão antiga.

Para cancelar o registro de uma versão e de seus patches associados, use a cláusula DEREGISTER do ALTER APPLICATION PACKAGE. O comando a seguir mostra como cancelar o registro da versão v1 do pacote de aplicativos:

ALTER APPLICATION PACKAGE my_app_package DEREGISTER VERSION v1;
Copy

Nota

Ao usar canais de lançamento, você não precisa remover a versão existente do pacote de aplicativos.

Adicionar uma versão a um canal de lançamento

Depois de registrar uma nova versão de um aplicativo no pacote de aplicativos, você deve adicionar explicitamente a versão a um canal de lançamento para definir a diretiva de lançamento do aplicativo.

Para adicionar uma versão a um canal de lançamento, use a cláusula ADD VERSION do comando ALTER APPLICATION PACKAGE:

ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL QA ADD VERSION V1;
Copy

Nota

Um canal de lançamento só pode conter duas versões simultâneas.

Remover uma versão de um canal de lançamento

Para remover uma versão de um canal de lançamento, use a cláusula DROP do ALTER APPLICATION PACKAGE:

ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL QA DROP VERSION V1;
Copy

A remoção de uma versão de um canal de lançamento é assíncrona e só será realmente removida quando todos os consumidores tiverem feito o upgrade dessa versão.

Definir a diretriz de lançamento usando um canal de lançamento

Quando os canais de lançamento são ativados para um pacote de aplicativos, cada canal tem sua própria diretiva de lançamento.

Para definir a diretriz de lançamento padrão para um canal de lançamento:

ALTER APPLICATION PACKAGE my_app_package
  MODIFY RELEASE CHANNEL ALPHA
  SET DEFAULT RELEASE DIRECTIVE VERSION=v1 PATCH=10;
Copy

Para definir uma diretiva de lançamento personalizada para um canal de lançamento:

ALTER APPLICATION PACKAGE my_app_package
  MODIFY RELEASE CHANNEL ALPHA
  SET RELEASE DIRECTIVE my_custom_release_directive
  VERSION=V1 PATCH=11 ACCOUNTS=(ORG1.ACCOUNT1);
Copy

Habilitar várias instâncias usando canais de lançamento

Você pode permitir que os consumidores criem várias instâncias de um aplicativo em suas contas. Os provedores também podem criar várias instâncias de um aplicativo em sua conta de teste.

Para ativar várias instâncias, use a propriedade MULTIPLE_INSTANCES do pacote de aplicativos, conforme mostrado nos comandos a seguir:

CREATE APPLICATION PACKAGE <name> MULTIPLE_INSTANCES=TRUE;
ALTER APPLICATION PACKAGE <name> SET MULTIPLE_INSTANCES=TRUE;
Copy

Nota

A ativação de várias instâncias para o pacote de aplicativos aplica-se a todos os canais de lançamento dentro do pacote de aplicativos.

Canais de monetização e lançamento

Todas as instâncias de aplicativos instaladas usando o canal de lançamento DEFAULT usam o plano de preços configurado para a listagem.

As instâncias de aplicativos instaladas a partir dos canais de lançamento ALPHA e QA são gratuitas e não usam o plano de preços configurado para a listagem.

Instalar um aplicativo usando canais de lançamento

Os provedores podem usar CREATE APPLICATION para criar um aplicativo a partir de um canal de lançamento em seu ambiente de teste.

Nota

Para instalar um aplicativo a partir dos canais de lançamento QA ou ALPHA, você deve usar uma função que tenha recebido o privilégio CREATE PREVIEW APPLICATION.

Para instalar um aplicativo a partir de um pacote de aplicativos na mesma conta, execute o seguinte comando:

CREATE APPLICATION my_app
  FROM APPLICATION PACKAGE my_app_package
  USING RELEASE CHANNEL QA;
Copy

Se você não usar explicitamente a cláusula USING RELEASE CHANNEL, será usado o canal de lançamento DEFAULT.

  • Para instalar um aplicativo em outra conta a partir de uma listagem, execute o seguinte comando:

CREATE APPLICATION my_app
  FROM LISTING
  USING RELEASE CHANNEL QA;
Copy

Se você não usar explicitamente a cláusula USING RELEASE CHANNEL, será usado o canal de lançamento DEFAULT.