# Estrategia de actualización

## Enfoque Evergreen

Recomendamos un enfoque Evergreen para las actualizaciones de SCEPman. Este es el enfoque predeterminado si SCEPman se ha implementado usando el canal de producción. SCEPman usa ZIP-Deployment apuntando directamente a [SCEPman GitHub](https://github.com/scepman) y carga la última versión publicada por el equipo de desarrollo.

El canal de producción, junto con los demás canales disponibles, se mencionan en la siguiente guía:

{% content-ref url="/pages/b5cdd7acf9d74c5b8799a18da1f3eba2b0fdc8ea" %}
[Artefactos de la aplicación](/es/configuracion-de-scepman/application-artifacts.md)
{% endcontent-ref %}

Con este enfoque siempre obtienes las funciones más nuevas y las actualizaciones de seguridad.

{% hint style="info" %}
Ten en cuenta que **una actualización solo ocurre cuando el App Service se detiene y se inicia de nuevo**. Este es el evento cuando se activa el ZIP-Deployment. Aunque el App Service no se detiene y se inicia automáticamente, se reinicia externamente en ciertos eventos. Uno de esos eventos es el [mantenimiento y aplicación de parches de la infraestructura subyacente](https://learn.microsoft.com/en-us/azure/app-service/routine-maintenance-downtime). Eso ocurre **regularmente y mantiene tu servicio actualizado**.
{% endhint %}

En un entorno empresarial de producción, si quieres tener más control sobre el proceso de actualización, puedes usar la característica de Microsoft **Deployment Slots**.

## hacia las actualizaciones. Si necesitas control total sobre tus actualizaciones de SCEPman, configura un slot de implementación como se describe en la siguiente guía, en la sección

En caso de que quieras tener control total sobre el proceso de actualización de SCEPman, puedes usar **Deployment Slots** dentro de Azure App Service.

{% hint style="success" %}
Para obtener más detalles sobre **Deployment Slots** puedes visitar la documentación de Microsoft:\
<https://docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots>
{% endhint %}

Los siguientes pasos te ofrecen nuestra configuración recomendada para una gestión de pre-lanzamiento

{% hint style="info" %}
Ten en cuenta que cada Deployment Slot se ejecuta en el mismo App Service Plan de tu App de producción y usa los mismos recursos.
{% endhint %}

### Ranura de pre-lanzamiento

La idea detrás de la ranura de pre-lanzamiento es tener tu App Service de producción ejecutándose con artefactos almacenados en tu propia cuenta de Storage y crear una nueva Deployment Slot que apunte a nuestros artefactos de GitHub. Puedes encontrar los pasos para configurar tu ubicación de artefactos personalizada en el siguiente artículo:

{% content-ref url="/pages/b5cdd7acf9d74c5b8799a18da1f3eba2b0fdc8ea" %}
[Artefactos de la aplicación](/es/configuracion-de-scepman/application-artifacts.md)
{% endcontent-ref %}

Ahora tu App Service de producción se está ejecutando con una ubicación de artefactos personalizada y procedemos con la configuración de la nueva Deployment Slot.

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

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

El siguiente comando CMDlet creará una Deployment Slot y configurará todos los permisos necesarios por ti.

```
New-SCEPmanDeploymentSlot -SCEPmanAppServiceName <Nombre de tu SCEPman App Service> -DeploymentSlotName <Nombre para la Deployment Slot> 6>&1
```

**Ejemplo**

![](/files/c138054f58338300767edbefdc70b0eba76e7f03)

Después de que la implementación haya finalizado correctamente, puedes comprobar la ranura de implementación en tu SCEPman App Service -> **Ranuras de implementación**

![](/files/804c143ec52d7d15d9585a5657970a9761c26bce)

Ahora asegúrate de que tu ranura de implementación apunte al canal de producción de SCEPman en GitHub:

Navega a la **Ranura de implementación** -> **Variables de entorno** y busca la configuración **WEBSITE\_RUN\_FROM\_PACKAGE** y pega los [artefactos del canal de producción](/es/configuracion-de-scepman/application-artifacts.md#production) en el valor.

<figure><img src="/files/5da59e89a0336d9500167c9a481d1e8afea66776" alt=""><figcaption></figcaption></figure>

Si vuelves a tu principal **App Service** y navegas a **Deployment Slots y**puedes ver tus dos ranuras y administrar el **% de tráfico** para enrutar la cantidad definida de solicitudes a la nueva **de pre-lanzamiento** ranura.\
Importante: este enrutamiento de tráfico es completamente transparente para la aplicación y está gestionado por el App Service. Recomendamos establecer el **% de tráfico** a **20**. Después de eso, puedes comparar las dos ranuras en **Application Insights**. En caso de que publiquemos una versión actualizada en nuestro GitHub, solo tienes que reiniciar la **de pre-lanzamiento** ranura y, después de eso, puedes comparar las dos versiones diferentes en **Application Insights**. Después de una semana o el período de tiempo que elijas, puedes cargar los nuevos artefactos de GitHub en tu ubicación de artefactos personalizada y haber actualizado la solución 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/es/configuracion-de-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.
