Implementación de una aplicación web en un servidor web NGINX que se ejecuta en una máquina virtual Linux (clásico)

Azure DevOps Services | Azure DevOps Server 2022: Azure DevOps Server 2019 | TFS 2018

Nota

Si desea implementar la aplicación en una máquina virtual Linux mediante canalizaciones de YAML, consulte Implementación en una máquina virtual Linux.

Aprenda a usar Azure Pipelines clásico para compilar e implementar la aplicación web en un servidor web NGINX que se ejecuta en una máquina virtual Linux.

Requisitos previos

Requisitos previos de máquina virtual Linux

  • Si no tiene una máquina virtual Linux con un servidor web nginx, siga los pasos de este inicio rápido para crear una en Azure.

Obtener el código

Si no tiene un repositorio, siga el siguiente proyecto de ejemplo junto con este tutorial:

https://github.com/MicrosoftDocs/pipelines-javascript

Compilación de la aplicación

Configuración de un grupo de implementación

Los grupos de implementación facilitan la organización de los servidores que desea usar para hospedar la aplicación. Un grupo de implementación es una colección de máquinas con un agente de Azure Pipelines en cada una de ellas. Cada máquina interactúa con Azure Pipelines para coordinar la implementación de la aplicación.

  1. Abra una sesión SSH en la máquina virtual Linux. Puede hacerlo con el botón Cloud Shell de la esquina superior derecha del Azure Portal.

    Captura de pantalla que muestra el botón azure Cloud Shell

  2. Ejecute el siguiente comando para iniciar la sesión. Reemplace el marcador de posición por la dirección IP de la máquina virtual:

    ssh <publicIpAddress>
    
  3. Ejecute el siguiente comando para instalar las dependencias necesarias para configurar el agente de compilación y versión en una máquina virtual Linux. Para más información, consulte Agentes de Linux autohospedados .

    sudo apt-get install -y libunwind8 libcurl3
    
  4. en el portal web de Azure DevOps, seleccione Canalizaciones y, después, grupos de implementación.

  5. Seleccione Agregar un grupo de implementación (o Nuevo si tiene grupos de implementación existentes).

  6. Escriba un nombre para el grupo como myNginx y, a continuación, seleccione Crear.

  7. Seleccione Linux para el tipo de destino que se va a registrar y asegúrese de que se comprueba usar un token de acceso personal en el script para la autenticación . Seleccione Copiar script en el Portapapeles. Este script instalará y configurará un agente en la máquina virtual.

  8. De nuevo en la sesión SSH en Azure Portal, pegue y ejecute el script.

  9. Cuando se le pida que configure etiquetas para el agente, presione Entrar para omitir.

  10. Espere a que finalice el script y muestre el mensaje Iniciado por el agente de Azure Pipelines. Escriba "q" para salir del editor de archivos y volver al símbolo del sistema del shell.

  11. De nuevo en el portal de Azure DevOps, en la página Grupos de implementación , abra el grupo de implementación myNginx . Seleccione la pestaña Destinos y compruebe que la máquina virtual aparece en la lista.

Creación de una canalización de versión

  1. Seleccione Pipelines Releases (Versionesdecanalizaciones) y, a continuación, seleccione New pipeline (>Nueva canalización).

  2. Seleccione Trabajo vacío.

  3. Seleccione Agregar un artefacto para vincular el artefacto de compilación. Seleccione Compilar y, a continuación, seleccione el proyectoy el origen en el menú desplegable. Seleccione Agregar cuando haya terminado.

  4. Seleccione el icono Implementación continua y haga clic en el botón de alternancia para habilitar el desencadenador de implementación continua. Agregue la rama principal como filtro de rama de compilación.

    Captura de pantalla que muestra cómo configurar el desencadenador de implementación continua

  5. Seleccione Tareas y, a continuación, seleccione el trabajo del Agente y quítelo.

    Captura de pantalla que muestra cómo quitar el trabajo del agente

  6. Seleccione el icono de puntos suspensivos y, a continuación, seleccione Agregar un trabajo de grupo de implementación. Las tareas que agregará a este trabajo se ejecutarán en cada servidor del grupo de implementación.

    Captura de pantalla que muestra cómo agregar un trabajo de grupo de implementación

  7. Seleccione el grupo de implementación que creó anteriormente en el menú desplegable Grupo de implementación .

    Captura de pantalla que muestra cómo seleccionar el grupo de implementación.

  8. Seleccione + esta opción para agregar una nueva tarea. Busque Bash y seleccione Agregar para agregarlo a la canalización.

    Captura de pantalla que muestra cómo agregar la tarea de Bash.

  9. Seleccione el botón Examinar para agregar la ruta de acceso del archivo de script de deploy.sh . Consulte un script de implementación de nodeJS de ejemplo aquí.

    Captura de pantalla que muestra cómo agregar la ruta de acceso del script.

  10. Seleccione Guardar cuando haya terminado.

    Captura de pantalla que muestra cómo guardar una canalización de versión.

Implementación de la aplicación

  1. Seleccione Releases (Versiones) y, a continuación, seleccione Create a release (Crear una versión).

  2. Asegúrese de que la versión del artefacto que quiere usar está seleccionada y, a continuación, seleccione Crear.

  3. Seleccione el vínculo de versión en el mensaje de la barra de información. Por ejemplo: " Release Release-1 has been queued".

  4. Seleccione el vínculo de estado en Fases para ver los registros de implementación.

  5. Una vez completada la versión, vaya a la aplicación y compruebe su contenido.