Introducción a TestStand y Jenkins

Actualizado el Nov 1, 2023

Ambiente

Software

  • TestStand

Jenkins es un servidor de automatización de código abierto que se usa comúnmente para realizar tareas de Integración Continua (CI), como la construcción, prueba y entrega de una aplicación. Puede optar por utilizar TestStand en combinación con Jenkins u otros sistemas de CI para uno o más de los siguientes casos de uso:

Desarrollo de pruebas optimizado

Al probar y crear su código continuamente, las prácticas de CI pueden ayudar a identificar problemas en las primeras etapas del proceso de desarrollo. Por ejemplo, considere un equipo que comparte el desarrollo de pruebas entre varios ingenieros. Si un subVI no se registra en el repositorio compartido, la secuencia de prueba se ejecutará sin problemas en la máquina de desarrollo original, pero cuando el equipo ejecute código desde el repositorio, esta secuencia tendrá un VI roto. Un problema como este podría ser detectado inmediatamente por un servidor de CI y corregido, ahorrando al equipo la solución de problemas de último minuto.

Incorporación de TestStand en un sistema de CI más grande

TestStand también se puede utilizar como parte de un sistema de CI más grande. Por ejemplo, considere un equipo mixto de ingenieros de software y hardware que están desarrollando un dispositivo integrado. Las pruebas unitarias se pueden escribir para probar el software integrado y las secuencias de TestStand se pueden escribir para probar los requisitos de hardware y la integración de software/hardware. TestStand puede publicar los resultados de las pruebas en el mismo servidor de CI que las pruebas unitarias de software, lo que permite que todo el equipo adopte el desarrollo basado en pruebas y trabaje en conjunto para resolver las pruebas fallidas.
 

Herramientas de línea de comandos

El método de comunicación principal entre un servidor CI y un sistema TestStand es a través de la línea de comandos. Las siguientes utilidades de TestStand tienen interfaces de línea de comandos que se pueden utilizar para este propósito

Requisitos de hardware y software

Necesitará una computadora con Windows o una máquina virtual en su red que pueda usarse exclusivamente para construir. No se recomienda utilizar esta máquina con fines de desarrollo de software; si lo hace, puede provocar que existan copias de dependencias en los directorios de búsqueda que pueden incorporarse inadvertidamente a una compilación. También necesitará una copia con licencia de todo el software y los controladores necesarios para construir su sistema de prueba.

Configuración de una máquina de compilación para usar con TestStand

  1. Configure una cuenta de administrador local para el servidor de compilación e inicie sesión.
  2. Instale todo el software de NI y de terceros necesario para construir su sistema de prueba.
  3. Dado que Jenkins se ejecuta como un servicio, no se pueden mostrar cuadros de diálogo de usuario durante la ejecución. Si planea correr cualquier ejecución como parte de su proceso de compilación o prueba, modifique las siguientes propiedades de TestStand para evitar que se muestren los cuadros de diálogo:
    1. Configure » Station Options » User Manager » Check User Privileges: desmarque esta casilla para evitar el cuadro de diálogo de inicio de sesión; alternativamente, configure el sistema para iniciar sesión automáticamente en el usuario de Windows.
    2. Configure » Station Options » Execution » On Run-Time Error: establezca esta propiedad en "Run Cleanup".
    3. Configure » Station Options » Time Limits: asegúrese de que ninguna de estas propiedades esté configurada como "Prompt for Action."
    4. Configure » Station Options » User Manager » Check User Privileges: desmarque la opción "Prompt to Find Files."
  4. Cambie la configuración de DCOM de TestStand auto Manager (TSAutoMgr.exe) a Usuario de inicio.
    1. Abra la ventana Ejecutar (Win + R).
    2. Escriba dcomcnfg y presione Enter.
    3. Vaya a Component Services»Computers»My Computer»DCOM Config»NI TestStand AutoMgr.
    4. Haga clic derecho en NI TestStand AutoMgr y seleccione Properties.
    5. En la pestaña Identity, cambie la cuenta de usuario a The launching user.
  5. Nota: El selector de versión de TestStand puede restablecer la configuración de DCOM. Si tiene la intención de administrar varias versiones de TestStand en una sola máquina de compilación, considere configurar automáticamente esta propiedad a través de la clave de registro RunAs .

  6. Descargue e instale el último msi Jenkins Long Term Support (LTS) para Windows.
  7. Cuando el instalador termine de ejecutarse, debería abrir automáticamente un navegador web y navegar a 'http://localhost:8080/'.

Nota: Verá el error HTTP 404 si el servicio Jenkins no se inició correctamente. El puerto 8080 es el puerto predeterminado para los servicios web de LabVIEW y varias otras aplicaciones; si este puerto ya está en uso, Jenkins no podrá iniciarse. Para cambiar el puerto predeterminado, abra Jenkins.xml desde el directorio de instalación y modifique el atributo --httpPort a un puerto abierto. Si aún tiene problemas para iniciar el servicio, consulte el archivo jenkins.err.log en el directorio de instalación para obtener información detallada sobre el error.

  1. Antes de configurar Jenkins, configure el servicio para que se ejecute como una cuenta de administrador local. Los servicios se ejecutan como usuario del SISTEMA de forma predeterminada, lo que puede causar problemas con la utilidad de implementación TestStand.
    1. Presione Win + R y escriba 'services.msc' para abrir servicios.
    2. Haga clic derecho en el servicio Jenkins y elija 'Property'.
    3. En la pestaña 'Log On', elija 'This Account' e ingrese las credenciales de administrador local.

 

  1. Presione OK y reinicie el servicio.
  2. Navegue a la URL de Jenkins: http://localhost:<puerto>
  3. Deberá iniciar sesión con la contraseña de administrador inicial, que Jenkins debe proporcionarle.
  4. Una vez que haya iniciado sesión, puede instalar los complementos que desee. Pipeline Plugin Suite es un buen lugar para comenzar.
  5. Cree un usuario administrador inicial cuando se le solicite.
  6. Consulte la documentación de usuario de Jenkins para obtener más información sobre cómo comenzar y las mejores prácticas.