♥ Prólogo
El modo maestro-esclavo de jenkins debe ser familiar para todos. Durante el proceso de aprendizaje, todos construyeron un entorno jenkins localmente para facilitar el aprendizaje y luego lo implementaron a través de javaweb. Todos parecen estar muy interesados en implementar el modo maestro-esclavo en estibador. Hoy te contaré cómo jugar a través de este artículo, espero que te sea de ayuda.
1. Preparación ambiental
-
Prepare un servidor Linux (servidor en la nube, puede ser un servidor Linux de construcción propia)
-
Instalar Docker en el servidor Linux
-
Tire hacia abajo una imagen de jenkins y luego inicie un contenedor de jenkins
-
Baje esta imagen jenkins/ssh-slave en la ventana acoplable (la imagen proporcionada por jenkins se usa especialmente como imagen maestro-esclavo)
-
OK, los preparativos están hechos.
Si desea aprender sobre pruebas automatizadas, aquí le recomiendo un conjunto de videos. Se puede decir que este video es el primer tutorial de prueba de automatización de interfaz en toda la red en la estación B. Al mismo tiempo, la cantidad de usuarios en línea ha aumentado. Llegó a 1000 y hay notas para cobrar y varios Intercambio técnico de Lu Dashen: 798478386
2. Listo para empezar a trabajar
El primer paso: Docker habilita el acceso remoto, debe abrir el puerto 2375, este puerto debe abrirse con cuidado (yo uso centos)
-
Abra el archivo docker.service
VIM /usr/lib/systemd/system/docker.service -
Agregue el siguiente contenido en [Servicio] en el archivo docker.service
[Servicio]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker. calcetín -
Reinicie el servicio Docker y deje que Docker vuelva a leer el archivo de configuración
systemctl daemon-reload
systemctl restart docker -
Verifique, verifique el proceso de la ventana acoplable, si el proceso del demonio de la ventana acoplable ya está escuchando el puerto tcp 2375, incluso si el puerto 2375 se abrió correctamente
-
Verificación adicional, acceda al host de la ventana acoplable a través de otras máquinas
sudo docker -H tcp://139.129.130.123:2375 imágenes
El comando anterior es equivalente a ejecutar directamente el comando de imágenes de la ventana acoplable en el host de la ventana acoplable, y puede regresar correctamente, lo que indica que hay no es problema
Paso 2: Descarga la imagen del sitio web oficial (por cierto, no la olvides)
-
ventana acoplable extrae jenkins/ssh-slave
Paso 3: cree una nueva imagen con el entorno python3 basado en jenkins/ssh-slave
-
Crear un directorio de archivos acoplables
-
Coloque el archivo del paquete Python del que depende la ejecución del proyecto en el directorio dockerfile (no se escribirá cómo generar el archivo dependiente, de forma predeterminada usted es un maestro)
requests==2.24.0
openpyxl
ddt
pytest
selenium
pymysql
pyyaml==5.3.1
faker
jsonpath
BeautifulReport
unittestreport
rsa
pytest-html
Appium-Python-Client
-
Cree un archivo llamado fuentes.list (el nombre no se puede cambiar y debe ser este nombre), agregue el siguiente contenido
en el directorio jenkins/ssh-slave mirror /etc/apt/
deb http://mirrors.163.com/debian / buster principal no libre contrib
deb http://mirrors.163.com/debian/ buster-updates principal no libre contrib
deb http://mirrors.163.com/debian/ buster-backports principal no libre contrib
deb -src http://mirrors.163.com/debian/ buster principal contrib no libre
deb-src http://mirrors.163.com/debian/ buster-updates principal contrib no libre
deb-src http:// mirrors.163.com/debian/ buster-backports contribución principal no gratuita
deb http://mirrors.163.com/debian-security/buster/updates contribución principal no gratuita
deb-src http://mirrors.163. com/debian-security/buster/updates contribución principal no gratuita
Descripción de Sources.list: El jenkins/ssh-slave oficial no tiene Python y necesita instalar Python para actualizar su paquete de instalación. En este momento, si usa su fuente espejo predeterminada, será muy lento, por lo que cambiamos a uno más rápido Fuente, simplemente sobrescriba su archivo original, aquí debe modificarlo de acuerdo con su propio número de versión, la mía es la versión buster, por supuesto, después de descargarla, debería ser la misma que la mía. -
escribir Dockerfile
FROM jenkins/ssh-slave:latest
USER root
WORKDIR /app
ADD requirements.txt /app
ADD sources.list /etc/apt/
RUN echo export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8" >> /etc/profile
RUN apt-get -y update && apt-get -y install python3 && apt-get -y install python3-pip && pip3 install -r requirements.txt -i https://pypi.douban.com/simple
-
Ejecute el comando de creación de imágenes
docker build -t jenkins/ssh-slave:v2.0.
Paso 4: configurar el nodo esclavo de jenkins
-
Vaya a la página de configuración del nodo
administrar jenkins ---> Nodo esclavo (administración de nodos) ---> ConfigureClouds
Verás la siguiente página.
-
Haga clic en Agregar una nueva nube y seleccione la ventana acoplable de la lista desplegable. Después de hacer clic, accederá a la siguiente página
-
Haga clic en Detalles de Docker Cloud para configurar, la página es la siguiente
-
Haga clic en las plantillas de Docker Agent, verá la siguiente página
-
Haga clic en las opciones avanzadas a continuación
-
La configuración específica de opciones avanzadas se muestra en la siguiente figura.
-
Recuerde guardar una vez completada la configuración; es mejor guardar mientras configura para desarrollar un buen hábito.
Paso 5: vincula Docker Slave a tu tarea de jenkins
-
Crea una nueva tarea, selecciona Freestyle Project
-
Restrinja el proyecto para ejecutar el nodo, seleccione el nodo recién creado (Etiquetas)
-
Configurar Git
-
Configurar comandos de shell
-
Informe de prueba de configuración
Paso seis: construya su proyecto
-
Después de iniciar la compilación, verá la siguiente figura en su cola de compilación
2. Una vez completada la compilación, haga clic en su proyecto y habrá un registro de compilación cuando venga aquí. Haga clic para ver el registro de compilación.
3. Ver informe de prueba
4. El informe de prueba es el siguiente