Implementaciones
Los despliegues ofrecen la capacidad de empaquetar y versionar repositorios de configuración de PowerShell Universal. Pueden desplegarse en un clúster de nodos de PowerShell Universal para garantizar que todos los nodos tengan la misma configuración sin necesidad de configurar la sincronización con git. Los despliegues se empaquetan como módulos de PowerShell y pueden desplegarse directamente desde repositorios de PowerShell.
Los despliegues no pueden utilizarse con la sincronización con git. Al utilizar despliegues, se recomienda gestionar git y el control de código fuente fuera de PowerShell Universal.
Los despliegues también pueden utilizarse como una forma de capturar rápidamente instantáneas de configuraciones de PSU y retroceder o avanzar sin tener que cambiar ficheros manualmente.
Crear un despliegue
Necesitará el permiso Settings.Deployments\Create para crear nuevos despliegues.
API
La API de gestión y el módulo de PowerShell Universal pueden utilizarse para crear despliegues de PowerShell Universal. El cmdlet New-PSUDeployment puede utilizarse para generar un nuevo despliegue. Este despliegue se almacenará en la base de datos. Contendrá el estado actual del repositorio de PowerShell Universal del ordenador al que está conectado.
El parámetro -Path es opcional y contendrá el fichero NuPkg del módulo.
New-PSUDeployment -Name 'Production' -Version '1.0.1' -Path .\production.1.0.1.nupkgTambién puede llamar a la API mediante HTTP.
Invoke-RestMethod http://localhost:5000/api/v1/deployments -Method POST -Body (@{
Name = 'Production'
Version = '1.0.1'
} | ConvertTo-Json)Aplicar un despliegue como módulo
Si desea que su módulo de despliegue aparezca en PSModulePath, puede añadir el parámetro de cadena de consulta asModule a la ruta. Esto garantiza que las funciones del módulo de despliegue estén disponibles en el entorno.
Consola de administración
No recomendamos crear despliegues manualmente, ya que debe preferirse la automatización, pero es posible hacerlo a través de la consola de administración.
Abra Control de código fuente > Despliegues. Necesitará el permiso Setings.Deployments\Read para ver esta página. Haga clic en Crear despliegue para configurar un nuevo despliegue. Este despliegue se mostrará en la tabla de despliegues.
Aplicar un despliegue
Aplicar un despliegue reconfigura todos los nodos de un clúster de PowerShell Universal con el contenido del despliegue seleccionado. Solo se requiere una única llamada a la API para reconfigurar todo el clúster.
Necesitará el permiso Settings.Deployments\Execute para aplicar un despliegue.
Fijación
La fijación aplica un despliegue y garantiza que la consola de administración y la API de gestión sean de solo lectura. Esto evita que los usuarios editen recursos en el clúster.
API
Puede utilizar el cmdlet Select-PSUDeployment o la API de gestión para aplicar un despliegue. Esto puede hacerse utilizando un repositorio de PowerShell o seleccionando un despliegue que se encuentre en la base de datos.
Consola de administración
No recomendamos gestionar los despliegues a través de la consola de administración, pero es posible. Dé siempre preferencia a la automatización frente a los procesos de despliegue manuales. En la consola de administración, abra Control de código fuente > Despliegues.
Desde allí, puede ver todos los despliegues listados que se han creado en el entorno de PSU. Haga clic en el botón Aplicar para aplicar el despliegue al clúster. Tendrá la opción de fijar el despliegue.
Repositorio de PowerShell
Puede utilizar la API de gestión y el módulo Universal para aplicar un despliegue directamente desde un repositorio de PowerShell, como PowerShell Gallery o un recurso compartido de ficheros. El repositorio debe estar registrado en todos los nodos del clúster para aplicar el despliegue correctamente. Puede utilizar Register-PSResourceRepository para registrar un repositorio.
Para aplicar el despliegue, llame a Select-PSUDeployment con el parámetro Module establecido.
GitHub Actions
Puede utilizar la acción ironmansoftware/deploy-universal para desplegar su repositorio directamente desde GitHub. Extrae el repositorio actual y envía los cambios a PowerShell Universal.
A continuación se muestra un ejemplo del YAML para hacerlo. Para obtener más información sobre la acción de despliegue, haga clic aquí.
Git frente a despliegues
La sincronización con git y los despliegues ofrecen funcionalidades similares. Tanto la sincronización con git como los despliegues garantizan que todos los nodos de un clúster compartan una configuración, pero cada uno tiene distintas ventajas e inconvenientes.
Git
Git permite a los usuarios realizar commits directamente en PowerShell Universal. Podrán ver el historial y comparar cambios sin tener que salir de la consola de administración. Git también puede resultar complicado y problemático de configurar. PowerShell Universal ofrece funciones de git limitadas. La sincronización con git tiene la ventaja de conocer la diferencia entre la configuración actual y la configuración entrante, y puede recargar solo los recursos que cambian. Dicho esto, esto a menudo resulta complicado y propenso a errores.
Ventajas
Configuración compartida en todo el clúster
Interacción con git directamente en la consola de administración
Ver el historial de commits directamente en la consola de administración
Las actualizaciones incrementales de recursos limitan el tiempo de inactividad
Inconvenientes
Requiere un repositorio git externo para los clústeres
Puede resultar complicado de configurar
Los cambios en sistemas git externos pueden impedir que PSU se sincronice
Las actualizaciones incrementales de recursos son complicadas y propensas a errores
Editar directamente en instancias de PSU compartidas puede resultar problemático para equipos grandes
Despliegues
Los despliegues proporcionan una forma de aplicar paquetes de despliegue inmutables a clústeres de PowerShell Universal. No se requieren sistemas externos, y los paquetes de despliegue son simplemente módulos de PowerShell que pueden almacenarse en la base de datos o, opcionalmente, en repositorios externos de recursos de PowerShell. Los despliegues no contienen ningún historial de ficheros ni se integran con el control de código fuente. Los despliegues pueden crearse en PowerShell Universal o fuera de él con cmdlets estándar de PowerShell.
Ventajas
Sencillos de crear y desplegar con cmdlets estándar de PowerShell
No se requieren sistemas externos
Configuraciones inmutables que son sencillas de desplegar para PowerShell Universal
Pueden integrarse con repositorios de recursos de PowerShell para el versionado
Inconvenientes
El control de código fuente debe realizarse fuera de PSU
Se requieren sistemas externos para automatizar los despliegues
La reconfiguración puede llevar tiempo, ya que se restablece toda la configuración del servidor
Última actualización
¿Te fue útil?