[Girar] Jenkins integrada acoplable reflejo de liberación automática

1. Proceso de Ideas &

Jenkins integrado mavne liberación automática del estibador reflejo de las ideas generales del proceso y del proyecto, como Jenkins publicado como:
Jenkins me consiguió una fuente distal - Gitl
lograr el empaquetado de aplicaciones - Jenkins locales
para aplicaciones acoplables envasados en un espejo - Dockerfile
imagen cargada a un almacén privado acoplable - concha o acoplable relacionados Jekins plug-
delete envase acoplable de edad, ejecute los nuevos contenedores de Docker - shell script

2. Preparación del entorno

Jenkins java experto acoplable git git-Jenkins widget de
configuración Jenkins
el repositorio Git activa automáticamente después de que el gancho puede dar vuelta a empujar las funciones de código implementado Jenkins capacidades de construcción, tales como la necesidad puede convertir este repositorio característica git.
Nuevo proyecto Seleccione el elemento o los elementos de estilo mavan estilo libre (estilo libre de utiliza aquí)

clipboard.png

3. Configurar Jenkins acumulación de activación

clipboard.png

说明1:触发远程构建 (例如,使用脚本)
这个选项就是上面提到配合git仓库的钩子功能实现代码PUSH后Jenkins收到通知自动触发构建项目的动作
说明2:Poll SCM日程表
定时检查源码变更,如果有更新就克隆下最新code下来,然后执行构建动作

clipboard.png

5分钟检查一次该项目分支是否有变动,如果有就拉去最新code执行构建动作
注:构建触发器这里我们不做任何选择,这里只是介绍这两周功能,如有需要自行实现。

4. Construcción de salida del registro

clipboard.png

Ver ventana acoplable local de almacén

 

 

Mirroring ya existe

 

 

Contenedor ya se está ejecutando

clipboard.png

项目中的Dockerfile

proyecto de repositorio Git que deben almacenarse archivo Dockerfie para aplicaciones de embalaje para el interior del espejo

5. Dockerfile sigue:

clipboard.png

Con el fin de evitar el excesivo tiempo de ejecución del proceso de construcción es demasiado largo, se se añade Dockerfile archivo único archivo de aplicación empaquetada Jenkins en el recipiente. operaciones ambientales y de otro deseados se llevan a cabo sobre la base del espejo, construido para mejorar la eficiencia.
NOTA: DE java6 aquí requiere la presencia del espejo está en el repositorio local de estibador, si no hay Jekins de nuevo en el proceso de construcción de la imagen correspondiente al estibador tirando del concentrador, si no se informa de ningún error.

6. imagen base Dockerfile

clipboard.png

Java6的镜像是从这里由来,添加了tomcat以及JAVA环境变量
构建Docker镜像这里只做一下简单说明

我的dockerfile文件如下:

 DE es una imagen base envasados, cada vez utilizando una aplicación diferente para unirse al espejo, y luego se envasa en una nueva imagen.

 

 

 

 

Después de la operación Jenkins acumulación
Jekins puede utilizar la ventana acoplable correspondiente plugin para hacer esto, pero debido a la pared exterior de la red es difícil de instalar, utiliza este modo Ejecutar Shell, que es relativamente simple y fácil de post-mantenimiento.

 

 # Acoplable iniciar sesión en el servidor donde se ejecuta el comando

SSH [email protected] "
 IP addr 
imagesid = \ $ (Docker Imágenes | grep -i ppp | awk  '{Imprimir \ $} 3 ' ) 
# imagesid Si no está vacía, a continuación, elimine la imagen, y el contenedor, para asegurar que cada empaquetado de nuevo en la nueva imagen reflejada 
SI [la -z \ " $ imagesid \"]; la continuación 
    de eco \ $ imagesid \ " es nulo \" 
el otro 
    nombre = \ $ (Docker ImagesRF libres de Derechos | grep -i ppp | awk  ' Imprimir {\} $ 1. ' ) 
    Tag = \ $ (Docker Imágenes | grep -i ppp | awk  ' {print \ $ 2} ') 
    Nametag = \ $ nombre: \ $ Tag
     eco \ $ etiqueta con su nombre 
    ContainerId = \ $ (Docker PS | grep \ $ Nametag | awk  ' {. Print \ $ 1} ' )
     echo \ " LRX \ $ ContainerId \" 
    acoplable RM \ $ ContainerId - f 
    ventana acoplable RMI \ $ imagesid - f
 fi 
# empujón de la ruta del directorio de ejecución actual dockerfile archivo, dockerfile debe estar en el servidor cargador de muelle, donde 
pushd / dockerdir
 pwd 
# ejecutar dockerfile archivo para generar una nueva imagen y la imagen de etiquetado 
ventana acoplable Build - dpi T: 1.0 . 
# salto hacia atrás en el directorio de ejecución actual 
del popd 
PWD 
# ventana acoplable recipiente abierto 
cargador de muelle de contenedores RUN -d -u root -h app29 --network --name JAR anfitrión --privileged --cap el complemento dpi = NET_ADMIN: 1.0 ;
 "

 

Nota: Aquí hay que matar el contenedor de edad y eliminar el viejo recipiente de grep esté compensado por el nombre del contenedor, por lo que el reinicio cuando el buque comenzó a especificar el nombre del contenedor -nombre, de lo contrario no se podrá iniciar.

7. Compruebe páginas vistas

 

 

solicitud I acoplable es una imagen especular de la página de índice, contenedor visita exitosa.

8. Extended

- actualización de varios nodos

Estos son sólo un único paquete de implementación de nodo para la máquina del estibador, como lo requiere la implementación de múltiples puntos, sin múltiples compilaciones de construcción, simplemente realizar una operación de generación, la imagen cargada a la bodega privada interna, el despliegue de múltiples nodos por ansibles.

- entorno de clúster de despliegue acoplable

Use kubernets agrupan las herramientas de gestión de implementación (1.2 Versión añadido) archivos para poner en práctica un recipiente actualización sucesiva (equivalente a desplegar aplicaciones)

 

Transferencia desde arriba https://segmentfault.com/a/1190000007837054

Supongo que te gusta

Origin www.cnblogs.com/yanwuliu/p/12661840.html
Recomendado
Clasificación