Jenkins implementa proyectos de microservicios

Como novato, hizo un proyecto de educación en línea de Gu Li frente al video. Después de que se ejecuta la prueba, si desea intentar implementarlo en su propio servidor en la nube, no está inactivo. Mas cerca de casa

  • Introducción
    En la arquitectura de microservicios, con más y más servicios, el empaquetado y la implementación de servicios se convertirán en algo bastante problemático. Por ejemplo, mi proyecto edu-online actualmente tiene 10 servicios que deben implementarse. ¿Hay alguna forma de implementarlo una vez y luego hacer clic en Ejecutar para implementarlo automáticamente? ¡Por supuesto que lo hay! A continuación, usamos Jenkins para completar el trabajo de implementación automatizado en una arquitectura de microservicio.

  • Uso básico de Jenkins
    Para el uso básico de Jenkins, consulte Uso de Jenkins para empaquetar e implementar aplicaciones SpringBoot con un solo clic

  • Preparación preliminar
    Cargue su proyecto local en el almacén remoto, instale el complemento de git en la idea y configure git. Para la configuración de git, puede consultar todo el proceso de instalación y configuración de Git . Aquí lo subí a gitee .
    Sube el primer plano del proyecto a gitee

git pull origin master --allow-unrelated-histories
git add .
git commit -m '提交说明'
git push origin master 
  • Preparación del entorno del servidor
    1 Instale JDK
    Este artículo usa jdk-8u181-linux-x64.tar.gz;
    2 Instale maven
    Este artículo usa apache-maven-3.6.1-bin.tar.gz
    3 Instale nacos
    Este artículo usa registro de servicio y no No quiero conectarse de forma remota, todo está en el servidor directamente. Use nacos-server-1.4.2.tar.gz
    4 para instalar mysql
    como se indicó anteriormente, similar al servidor que no vale la pena, de todos modos, está a punto de caducar. Se utiliza Mysql-5.7.36-linux-glibc2.12-x86_64.tar
    5 Después de instalar el nodo
    e implementar el código de back-end, organice la página principal por cierto. Usando node-v10.14.2-linux-x64.tar.gz
    6 Instalar redis
    Este artículo usa redis-5.0.5.tar.gz. Cuando instalé tantas cosas y luego lo ejecuté en segundo plano, después de iniciarlo, descubrí que la tarjeta estaba instalada y que el uso de la CPU era tan alto que cuando hice clic en jenkins para implementarlo, me tomó mucho tiempo de espera.
    7 Instale httpd
    Algunas versiones de Linux ya tienen Apache preinstalado y ya es un servicio, así que primero verifique si el servicio httpd ya existe en el sistema. De todos modos, no sé por qué no existe en mi servidor, así que instálelo. Para obtener más información, consulte la instalación, configuración y servicio de Apache (httpd) en Linux
  • Instalacion y configuracion de jenkins
    Aqui estoy directamente vago y me ahorro problemas, descargo el paquete war y lo ejecuto directamente. Dirección de descarga del paquete de guerra: descargue el paquete de guerra y ejecútelo una vez que haya terminado el trabajo. Inicie el comando del paquete de guerra
nohup java -jar jenkins.war &

En este momento, abra la dirección de acceso del navegador: http://ip:8080, puede acceder a jenkins. La primera vez que inicia sesión, debe ingresar la contraseña de administrador, luego crear un usuario, instalar un complemento, crear una instancia, etc. Aquí lo configuro para el video. Después de una serie de instalación y configuración de Jenkins
, llegué a esta página. La primera vez que entré, no había nada. Ya configuré esto.
inserte la descripción de la imagen aquí
Hay un pequeño problema que olvidé mencionar aquí, es decir, durante la implementación, puede indicar que no se recomienda que el usuario root realice la implementación, e involucra problemas de permisos o algo así. Luego dije que agregara operaciones de permisos al usuario jenkins, etc., lo ignoré y
los subí directamente a la raíz.

  • Inicie la implementación
    Primero cree una tarea para el proyecto principal. De forma predeterminada, no hay un proyecto maven. Si desea crear maven directamente, primero puede organizar un complemento, pero también puede crear uno de estilo libre, simplemente escriba el comando usted mismo.
    Después de ingresar, configure la dirección del almacén
    inserte la descripción de la imagen aquí
    porque maven se ha ajustado, también es más conveniente aquí, directamente
    inserte la descripción de la imagen aquí
clean package -Dmaven.test.skip=true

Luego, después de una larga espera para descargar y empaquetar las dependencias. Puede comprobar la salida de la consola en busca de errores y realizar cambios.
inserte la descripción de la imagen aquíinserte la descripción de la imagen aquí
He tenido ÉXITO aquí.
Luego, organice los módulos. El método más simple que se usa aquí no usa la implementación de la ventana acoplable en el video.

BUILD_ID=DONTKILLME
#!/bin/bash
#获取你想运行jar包的进程号
pid=`ps -ef | grep api_gateway-1.0-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
#如果存在则把该进程杀掉
if [ -n "$pid" ]
then
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi
echo "复制jar包"
#把jenkins打的jar包复制到自己指定的目录下
cp  /root/.jenkins/workspace/edu_parent/infrastructure/api_gateway/target/api_gateway-1.0-SNAPSHOT.jar /usr/mydemo
echo "启动jar包"
#最后启动jar包并把日志输出到指定的文件中以便查看
nohup java -jar /usr/mydemo/api_gateway-1.0-SNAPSHOT.jar > /usr/mydemo/api_gateway.log 2>&1 & 

Otros módulos son similares, y así sucesivamente, cree nuevas tareas para todos los módulos y constrúyalos. Ver a través del archivo de registro
inserte la descripción de la imagen aquí
y finalmente implementar el proyecto en primer plano

#!/bin/bash
pwd
ls

node -v
npm -v
git --version
java -version

echo '构建的版本号:'${
    
    BUILD_NUMBER}
npm install
npm run build
pwd

echo '----- 以上的列出的文件是 jenkin 服务 workspace 中 vue-admin-template-master 目录下的文件-------'

echo "复制dist文件夹"
#把dist文件夹复制到httpd服务器指定的目录下
cd /var/www/html/
#mkdir vue-admin-template-master
cp -r /root/.jenkins/workspace/vue-admin-template-master/dist/* /var/www/html/vue-admin-template-master/
echo "构建完成"

Cuando el servicio está activo, puede acceder a él visitando http://ip/nombre del proyecto.
inserte la descripción de la imagen aquí
A continuación, puede acceder felizmente a los proyectos que implementó en el servidor.

  • Escrito al final
    , soy Xiaobai, que está a punto de graduarse, y es la primera vez que implementa el proyecto en el servidor. Este artículo es solo para registros. Si hay alguna omisión u omisión, espero puedan criticarme y corregirme.
    Se acerca el año nuevo chino y la situación epidémica en Anyang también es tensa. Hemos estado haciendo ácido nucleico todos los días durante 4 días consecutivos. Les deseo a todos un feliz año nuevo por adelantado. Espero que todos puedan regresar a casa a salvo y reunirse con sus familias. , Los salarios están aumentando.

Supongo que te gusta

Origin blog.csdn.net/weixin_44834205/article/details/122458594
Recomendado
Clasificación