Lanzamiento de la compilación front-end de Jenkins Gitlab
Proceso: normalmente, extraer el proyecto de gitlab/github, compilarlo y enviar los archivos de salida al servidor.
Primero está el entorno
Antes de crear la tarea, debes configurar dos:
Pregunta 1: Configuración de credenciales de Jenkins SSH
Sistema Administración -> Administrar credenciales -> Credenciales globales (sin restricciones) -> Agregar o editar
Nota: La clave aquí es un gran problema. Al principio no estaba seguro de si debía completar la clave privada o la clave pública. , pero descubrí que pegar está mal. (Al pegar la clave privada, pegué el texto y no copié la primera ni la última línea, lo que generó errores constantes). Finalmente, pegué la clave privada completa y funcionó.
Motivo:
Porque Jenkins configura la protección entre sitios CSRF en su política de seguridad.
Solución:
Ingrese a Jenkins, Administración del sistema -> Configuración de seguridad global, seleccione usuarios anónimos con permisos de lectura y elimine CSRF para evitar la falsificación de solicitudes entre sitios:
En /configure
, este complemento se utiliza para conectar jenkins a sistemas Linux.
A continuación se describe cada propiedad del complemento.
Nombre
El atributo Nombre del servidor SSH es el servidor al que desea conectarse.
Archivos de origen
La entrada aquí son las carpetas y archivos que desea pasar al servidor. La ruta es relativa al nombre del proyecto del espacio de trabajo de jenkins. Por ejemplo, si la ruta compilada y empaquetada es jenkinszip.tar.gz en la carpeta dist, los archivos Surce se completarán en dist/jenkinszip.tar.gz
Eliminar prefijo
<. p> Si el archivo fuente es dist/jenkinszip.tar.gz, pero no desea crear un directorio dist en el servidor, puede completar el campo Eliminar prefijo con distDirectorio remoto
Esto especifica la ruta para copiar el archivo al servidor.
PD: La ruta completa para copiar el archivo al servidor = la ruta predeterminada de la cuenta del servidor que inició sesión (es decir, el directorio remoto configurado globalmente) + el directorio remoto configurado para la tarea actual.
Por ejemplo, la ruta de mi servidor es /home/wwwroot/aaa
Mi directorio remoto de configuración global es /home/wwwroot
El directorio remoto del servidor actual tarea Sí /aaa/
Ejecutar comando
Este es el comando que debe ejecutar después de conectarse al servidor.
Nota: El token secreto y el webhook deben completarse en gitlab de acuerdo con la siguiente ruta:
Artículo de referencia: /hou_ge/article/details/103507947