Uso de Jenkins para crear proyectos separados de front-end y back-end + reversión y copia de seguridad del proyecto en Windows
El servidor de la empresa tiene Jenkins instalado en Windows. Muchas compilaciones requieren el uso de comandos DOS, lo cual es muy problemático. Escribí este artículo para registrar los errores encontrados.
Originalmente quería ejecutarlo después de la implementación, pero luego tuve que hacer una copia de seguridad. Hay muchas formas diferentes de hacer esto, desde usar el complemento ThinBackup hasta crear su propio directorio y realizar una copia de seguridad…. Así que primero elegí crear un programa de copia de seguridad del directorio. Lo que imaginé fue:
¿Cómo podría ser una copia de seguridad manual? Además, el punto 4 es demasiado difícil de escribir usando bat, así que cambié a usar la copia de seguridad que viene con Jenkins (o guardar el archivo generado). El método de copia de seguridad es el siguiente:
Aquí se utilizan variables de entorno de Jenkins. Consulte el paso 5 para conocer la ruta y la configuración del archivo de respaldo.
También existe un método más conveniente: cambiar directamente la variable de entorno BUILD_ID que ProcessTreeKiller está buscando y deshabilitar temporalmente ProcessTreeKiller. El sitio web oficial solo proporciona el comando Shell para escribir, que se escribe antes de ejecutar el jar
Pero
después, puedes usar el comando nohup de Linux o javaw de Windows para ejecutar el paquete jar. en el fondo.
También existe el problema de imprimir registros: en Linux, puede usar el comando nohup; en Windows, puede usar el comando javaw y las herramientas de canalización (> y >>) solo para imprimir los registros. pero incluso si cambia BUILD_ID, Jenkins no se cerrará, pero siempre mostrará "Construcción". "Edificio". Usamos el comando de inicio, pero el comando de inicio solo puede ejecutar un comando e ignora las herramientas de canalización posteriores, por lo que el registro no se puede imprimir. La solución es escribir un comando bat para guardarlo localmente y usar parámetros externos para especificar la ruta del paquete jar y la ruta del registro. El comando bat se verá así:
La línea de comando anterior se verá así:
Los registros se guardarán en el directorio para cada compilación. BUILD_NUMBER es el número de compilación.
Una vez escrito el backend, el frontend puede comenzar a funcionar, por lo que solo necesita realizar las operaciones del frontend. Los siguientes son mis pasos:
Antes de implementar el front-end, debe montar el puerto backend en la ruta del puerto 80 a través del proxy inverso nginx, que no entraré en detalles aquí. El peligro oculto especial es que el proxy inverso a veces no tiene efecto porque abrirá y cerrará repetidamente el proceso nginx, generando así múltiples procesos nginx, así que cierre todos los procesos y vuelva a abrirlos, y luego el proxy inverso entrará en vigor.