# Estratégia de Atualização

## Abordagem Evergreen

Recomendamos uma abordagem Evergreen para as atualizações do SCEPman. Esta é a abordagem padrão se o SCEPman tiver sido implantado usando o canal de produção. O SCEPman usa ZIP-Deployment ao apontar diretamente para o [SCEPman GitHub](https://github.com/scepman) e carregar a versão mais recente lançada pela equipe de desenvolvimento.

O canal de produção, juntamente com os outros canais disponíveis, é mencionado no guia a seguir:

{% content-ref url="/pages/75a6a6cb19827ac4d14b20bb69462565cd6be61b" %}
[Artefactos da Aplicação](/pt/configuracao-do-scepman/application-artifacts.md)
{% endcontent-ref %}

Com esta abordagem, você sempre obtém os recursos mais recentes e as atualizações de segurança.

{% hint style="info" %}
Tenha em mente que **uma atualização só ocorre quando o App Service é parado e iniciado novamente**. Este é o evento em que o ZIP-Deployment é acionado. Embora o App Service não pare e inicie automaticamente, ele é reiniciado externamente em determinados eventos. Um desses eventos é a [manutenção e aplicação de patches da infraestrutura subjacente](https://learn.microsoft.com/en-us/azure/app-service/routine-maintenance-downtime). Essas ocorrem **regularmente e mantêm o seu serviço atualizado**.
{% endhint %}

Em um ambiente empresarial de produção, se você quiser ter mais controle sobre o processo de atualização, pode usar o recurso da Microsoft **Deployment Slots**.

## Configuração do Deployment Slot

Caso queira ter controle total sobre o processo de atualização do SCEPman, você pode usar o **Deployment Slots** dentro do Azure App Service.

{% hint style="success" %}
Para obter mais detalhes sobre o **Deployment Slots** você pode consultar a documentação da Microsoft:\
<https://docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots>
{% endhint %}

Os passos a seguir fornecem a configuração recomendada por nós para um gerenciamento de pré-lançamento

{% hint style="info" %}
Tenha em mente que cada Deployment Slot está executando no mesmo App Service Plan do seu aplicativo de produção e usa os mesmos recursos.
{% endhint %}

### Slot de pré-lançamento

A ideia por trás do slot de pré-lançamento é fazer com que seu App Service de produção seja executado com artefatos armazenados na sua própria conta de Storage e criar um novo Deployment Slot apontando para os nossos artefatos do GitHub. Você pode encontrar os passos para configurar o local dos seus artefatos personalizados no artigo a seguir:

{% content-ref url="/pages/75a6a6cb19827ac4d14b20bb69462565cd6be61b" %}
[Artefactos da Aplicação](/pt/configuracao-do-scepman/application-artifacts.md)
{% endcontent-ref %}

Agora o seu App Service de produção está sendo executado com um local de artefatos personalizado e prosseguimos com a configuração do novo Deployment Slot.

{% hint style="info" %}
Requisitos do Deployment Slot \*\*\*\* (via módulo PS. SCEPman):

* SCEPman **2.2** ou superior
* Módulo SCEPman do PowerShell **1.5.1.0** ou superior
  {% endhint %}

O seguinte comando CMDlet criará um Deployment Slot e configurará todas as permissões necessárias para você.

```
New-SCEPmanDeploymentSlot -SCEPmanAppServiceName <Seu Nome de App Service do SCEPman> -DeploymentSlotName <Nome Para O Deployment Slot> 6>&1
```

**Exemplo**

![](/files/07a7949c6399b33a584685163087e9c55a563311)

Depois que a implantação for concluída com sucesso, você pode verificar o deployment slot no seu SCEPman App Service -> **Deployment slots**

![](/files/b68feee596fd9dbb8599e1806315c1f2f11f544c)

Agora certifique-se de que o seu deployment slot aponta para o canal de Produção do SCEPman no GitHub:

Navegue até o **Deployment Slot** -> **Environment variables** e procure a configuração **WEBSITE\_RUN\_FROM\_PACKAGE** e cole os [artefatos do canal de produção](/pt/configuracao-do-scepman/application-artifacts.md#production) no valor.

<figure><img src="/files/3482c4513639dd86780f40c8e33990d220175057" alt=""><figcaption></figcaption></figure>

Se você voltar para o seu **App Service** principal e navegar para **Deployment Slots e**você pode ver os seus dois slots e pode gerenciar o **% de tráfego** para direcionar a quantidade definida de solicitações para o novo **pré-lançamento** slot.\
Importante: essa divisão de tráfego é completamente transparente para a aplicação e é tratada pelo App Service. Recomendamos definir o **% de tráfego** para **20**. Depois disso, você pode comparar os dois slots em **Application Insights**. Caso publiquemos uma versão atualizada no nosso GitHub, você só precisará reiniciar o **pré-lançamento** slot e, depois disso, poderá comparar as duas versões diferentes em **Application Insights**. Após uma semana ou o tempo que você escolher, você pode carregar os novos artefatos do GitHub para o local dos seus artefatos personalizados e ter atualizado a solução SCEPman.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.scepman.com/pt/configuracao-do-azure/update-strategy.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
