> For the complete documentation index, see [llms.txt](https://docs.scepman.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.scepman.com/pt/configuracao-do-azure/update-strategy.md).

# 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 [GitHub do SCEPman](https://github.com/scepman) e carregar a versão mais recente lançada pela equipa de desenvolvimento.

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

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

Com essa 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 é interrompido 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 certos 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). Isso acontece **regularmente e mantém o seu serviço atualizado**.
{% endhint %}

Num ambiente empresarial de produção, se quiser ter mais controlo sobre o processo de atualização, pode usar o recurso da Microsoft **Slots de implantação**.

## Configuração do slot de implantação

Caso queira ter controlo total sobre o processo de atualização do SCEPman, pode usar os **Slots de implantação** no Azure App Service.

{% hint style="success" %}
Para obter mais detalhes sobre os **Slots de implantação** pode visitar 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 para uma gestão de pré-lançamento

{% hint style="info" %}
Tenha em mente que cada Deployment Slot está a ser executado no mesmo App Service Plan da sua App de produção e utiliza os mesmos recursos.
{% endhint %}

### Slot de pré-lançamento

A ideia por trás do slot de pré-lançamento é fazer com que o seu App Service de produção seja executado com artefatos armazenados na sua própria Storage Account e criar um novo Deployment Slot apontando para os nossos artefatos do GitHub. Pode encontrar os passos para configurar a sua localização personalizada de artefatos no artigo seguinte:

{% 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á a ser executado com uma localização personalizada de artefatos e prosseguimos com a configuração do novo Deployment Slot.

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

* 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 si.

```
New-SCEPmanDeploymentSlot -SCEPmanAppServiceName <Nome do seu SCEPman App Service> -DeploymentSlotName <Nome para o Deployment Slot> 6>&1
```

**Exemplo**

![](https://3802289327-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-e6d6f6705ddea62ace2056be7939000667f1be20%2F2022-06-13%2017_36_44-DeploymentSlotCommand.png?alt=media)

Após a conclusão bem-sucedida da implementação, pode verificar o deployment slot no seu SCEPman App Service -> **Slots de implantação**

![](https://3802289327-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-dc8370a42c97d7d629bf570e79136d689eb64fa9%2F2022-06-13%2011_53_59-DeploymentSlot.png?alt=media)

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** -> **Variáveis de ambiente** e procure a definiçã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="https://3802289327-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FhWunHIoJy8uhT2T5S6Mq%2Fimage.png?alt=media&amp;token=4430a03c-7728-4ed5-9207-e711a279996e" alt=""><figcaption></figcaption></figure>

Se voltar ao seu principal **App Service** e navegar para **Deployment Slots e**pode ver os seus dois slots e pode gerir o **% de tráfego** para encaminhar a quantidade definida de pedidos para o novo **pré-lançamento** slot.\nImportante: este encaminhamento de tráfego é completamente transparente para a aplicação e é tratado pelo App Service. Recomendamos definir o **% de tráfego** para **20**. Depois disso, pode comparar os dois slots em **Application Insights**. Caso estejamos a lançar uma versão atualizada para o nosso GitHub, só precisa reiniciar o **pré-lançamento** slot e, depois disso, pode comparar as duas versões diferentes em **Application Insights**. Após uma semana ou o período que escolher, pode enviar os novos artefatos do GitHub para a sua localização personalizada de artefatos e ter atualizado a solução SCEPman.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
