Tabla de contenido
4. Crea un nuevo proyecto Maven
5. Verifique los resultados de implementación y empaquetado automático de Jenkins
El principio de funcionamiento de Jenkins es copiar primero el código fuente del sistema de control de versiones SVN/Git al local y luego llamar a Maven para compilarlo de acuerdo con el script establecido. La clave de todo el sistema es el script de compilación, que le indica a Jenkins las tareas que deben realizarse en una integración.
ambiente de laboratorio
Sistema operativo |
dirección IP |
nombre de la CPU |
Role |
CentOS 7.5 |
192.168.200.111 |
git |
servidor git |
CentOS 7.5 |
192.168.200.112 |
Cliente git de Jenkins |
servidor jenkins |
CentOS 7.5 |
192.168.200.113 |
gato |
Servidor web |
Apague el firewall y selinux en todos los hosts
[root@localhost ~]# systemctl detener firewalld
[raíz@localhost ~]# iptables -F
[root@localhost ~]# setenforce 0
1. Configurar el host git
# dependencias de instalación de instalación rpm: tanto 1 como 2 están instalados
[root@gitclient ~]# yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel [Es posible que falten algunas dependencias, como c++, que se puede instalar según sea necesario]
# Compile e instale: servidor y cliente, visite https://mirrors.edge.kernel.org/pub/software/scm/git/ para descargar la versión requerida
Primero rz importa el paquete git2.22
[root@gitclient ~]# tar xf git-2.22.0.tar.gz -C /usr/src/
[root@gitclient ~]# cd /usr/src/git-2.22.0/
[root@git git-2.22.0]# make configure [Este paso puede solicitar el siguiente yum -y install para instalarlo]
[root@git git-2.22.0]# yum -y install gcc-c++ [Instalar dependencias de c++]
[root@git git-2.22.0]# ./configure --prefix=/usr/local/git && make && make install
[root@git git-2.22.0]# ln -sf /usr/local/git/bin/git /usr/bin/
[root@git git-2.22.0]# git --versión
#Configurar usuarios en el servidor git [primero]
[root@git ~]# usuarioadd git
[root@git ~]# echo "123456" | contraseña --stdin git
[root@git ~]# echo "123456" | contraseña --stdin git
Crear una sonda de almacén local
[raíz@git ~]# su - git
Último inicio de sesión: jueves 20 de junio 09:46:10 CST 2019pts/0
[git@git ~]$ mkdir sonda.git
[git@git ~]$ cd sonda.git
[git@git probe.git]$ git --bare init
Inicialice un repositorio Git vacío en /home/git/probe.git/
[git@git probe.git]$ salir
[root@git ~]# rz #Subir psi-probe.tar.gz
[root@git ~]# tar xf psi-probe.tar.gz
[root@git ~]# git clone [email protected]:/home/git/probe.git
[root@git ~]# cp -rf psi-probe/* sonda/
[root@git ~]# sonda cd/
[sonda raíz@git]# git add.
[root@git probe]# git config --global user.email "[email protected]"
[root@git probe]# git config --global nombre.usuario "jialiang"
[root@git probe]# git commit -m "toda la sonda"
[root@git probe]# maestro de origen de git push
2. Configurar el host jenkins
Agregar credenciales de verificación: Puede agregar las credenciales aquí o no. Esta prueba no involucra credenciales.
"Agregar credenciales".
Después de completar los datos anteriores, haga clic en "Aceptar" para ver la cuenta de servidor web remoto recién agregada.
Agregar publicación sobre host remoto SSH
Haga clic en "Administrar Jenkins" -> "Configurar sistema" -> "Publicar a través de SSH" -> "Servidores SSH" -> botón de opción "Agregar" en la página de inicio de Jenkins para agregar un host remoto SSH. Como se muestra en la Figura 3.13, después de ingresar la información necesaria como nombre, nombre de host, nombre de usuario, etc., haga clic en el botón de opción "Avanzado" -> Marque la opción "Usar autenticación con contraseña o use una clave diferente" -> Ingrese el botón "Remoto". contraseña de inicio de sesión del host" -> "Configuración de prueba" prueba la configuración del host remoto. Después de probar con éxito la configuración del host remoto, haga clic en el botón "Guardar".
Configurar entornos Maven, JDK y Git
En la página de inicio de Jenkins, haga clic en "Administrar Jenkins" -> "Configuración global de herramientas" -> "JDK" -> Agregar "JDK" y establezca el alias de JDK en "JDK1 7 " . Elimine la opción "Instalar automáticamente" y configure "JAVA_HOME" en la ruta de instalación real del JDK en este caso.
/usr/local/java
Instalar maven en Jenkins
[root@jenkins ~]# tar xf apache-maven-3.5.0-bin.tar.gz
[root@jenkins ~]# mv apache-maven-3.5.0 /usr/local/maven-3.5.0
Cambiar la estación espejo de Alibaba Cloud para maven
[root@jenkins ~]# vim /usr/local/maven-3.5.0/conf/settings.xml
#Elimine todo en los dos <espejos>, aproximadamente 12 líneas, y agregue la siguiente estación espejo de Alibaba Cloud a los dos <espejos>
<espejo>
<id>nexo-aliyun</id>
<mirrorOf>central</mirrorOf>
<nombre>Nexus aliyun</nombre>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</espejo>
efecto final
Busque la opción de configuración de Maven en la interfaz de configuración "Configuración global de herramientas", luego haga clic en "Agregar Maven" y establezca el alias en "Maven3.5".
configuración de git
[root@jenkins ~]# cuál git
/usr/bin/git
Una vez completada la configuración básica global anterior, haga clic en Guardar para completar.
3. Configurar el servidor web
[root@tomcat ~]# tar xf apache-tomcat-8.5.40.tar.gz
[root@tomcat ~]# tar xf jdk-8u191-linux-x64.tar.gz
[ root @ tomcat ~ ] # mv jdk1 .8.0_191 // usr / local / java
[root@tomcat ~]# mv apache-tomcat-8.5.40 /usr/local/tomcat
[raíz@tomcat ~]# vim /etc/profile
exportar JAVA_HOME=/usr/local/java/
exportar CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
exportar RUTA=$JAVA_HOME/bin:$RUTA
[root@tomcat ~]# fuente /etc/profile
[root@tomcat ~]# java -versión
versión de Java "1.8.0_191"
Entorno de ejecución Java(TM) SE (compilación 1.8.0_191-b12)
Máquina virtual de servidor Java HotSpot(TM) de 64 bits (compilación 25.191-b12, modo mixto)
Publicar la clave pública en el host jenkins
[root@tomcat ~]# ssh-keygen
[root@tomcat ~]# ssh-copia-id 192.168.200.112
[Volver a jenkins]
El host Jenkins usa el usuario jenkins para conectarse a git de manera predeterminada, así que use el usuario jenkins para generar un par de claves y enviarlo a git.
[raíz@jenkins ~]# id jenkins
uid=988(jenkins) gid=982(jenkins) grupo=982(jenkins)
[root@jenkins ~]# su -s /bin/bash jenkins
bash-4.2$ ssh-keygen
bash-4.2$ ssh-copia-id [email protected]
bash-4.2$ ssh [email protected] #Prueba de inicio de sesión
bash-4.2$ salir
[raíz@jenkins ~]# ssh-keygen
[root@jenkins ~]# ssh-copy-id [email protected]
[root@jenkins ~]# ssh [email protected] #Prueba de inicio de sesión
4. Crea un nuevo proyecto Maven
Una vez completada la configuración anterior, regrese a la página de inicio de Jenkins, seleccione "Nueva tarea", luego ingrese el nombre de la tarea "sonda", seleccione "Proyecto Maven" y haga clic en el botón "Aceptar" en la parte inferior de la página actual.
Después de hacer clic en el botón "Aceptar", seleccione "Administración de código fuente", seleccione "Git" y configure "RepositoriesURL" como
[email protected]. 200.111 :/home/git/probe.git
Seleccione "Construir"
paquete limpio -Dmaven.test.skip=true
Seleccione "enviar artefactos de compilación a través de SSH" en "Operaciones posteriores a la compilación". El significado de ejecutar el comando en el "comando Exec" es: finalizar el proceso Tomcat antes de la implementación automática, luego eliminar el paquete war y usar el comando de copia remota scp. Para empaquetar automáticamente Jenkins, copie el paquete de guerra del buen proyecto en el directorio actual de la aplicación Tomcat. Luego reinicie Tomcat.
scp 192.168.200.112:/root/.jenkins/workspace/probe/psi-probe-web/target/probe.war /usr/local/tomcat/webapps/
/usr/local/tomcat/bin/startup.sh
Una vez completadas todas las configuraciones anteriores, haga clic en Guardar. Luego haga clic en la "sonda" -> "Construir ahora" que acaba de crear hasta que se construya el proyecto. El proceso de construcción se puede ver en la "Salida de la consola".
5. Verifique los resultados de implementación y empaquetado automático de Jenkins
Compruebe en el servidor web si el directorio de la sonda está copiado en el directorio /usr/local/tomcat/webapps.
[root@tomcat ~]# ls /usr/local/tomcat/webapps/
[root@tomcat ~]# ls /usr/local/tomcat/webapps/probe -l
A juzgar por los resultados anteriores, Jenkins ha copiado el paquete de guerra de sondas preparado.
Se puede ver en el comando de ejecución después de la compilación que Tomcat se ha reiniciado y se accede al sistema de monitoreo de la sonda de prueba a través del navegador. http://192.168.200.113:8080/sonda .
[root@tomcat ~]# vim /usr/local/tomcat/conf/tomcat-users.xml
<rol nombre de rol="administrador-gui"/>
<rol nombre de rol="admin-gui"/>
<usuario nombre de usuario="tomcat" contraseña="tomcat" roles="manager-gui,admin-gui"/>
</tomcat-users> # Agregue las tres líneas anteriores antes de esta línea
[root@tomcat ~]# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
permitir="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
Comenta lo anterior
[root@tomcat ~]# /usr/local/tomcat/bin/shutdown.sh
[root@tomcat ~]# /usr/local/tomcat/bin/startup.sh
En este punto, se completa el empaquetado y la implementación automáticos de Jenkins.