## 节点容器化自动构建流程 #### 设置GitLab服务器钩子 运用GitLab的webhook,勾选push Event,当每次有push操作的时候,会触发webhook向Jenkins发送事件。 #### Jenkins配置主要步骤 ##### 新建Job项目 新建项目,并添加项目描述。 ![image-20211117230728593](/Users/tiangui/Desktop/yaxin/zhenjianhui_830/12、容器化相关/节点容器化自动构建流程.assets/image-20211117230728593.png) ##### Git项目源配置 ![image-20211117230305803](/Users/tiangui/Desktop/yaxin/zhenjianhui_830/12、容器化相关/节点容器化自动构建流程.assets/image-20211117230305803-7161408.png) ##### Maven构建配置 ![image-20211117230900667](/Users/tiangui/Desktop/yaxin/zhenjianhui_830/12、容器化相关/节点容器化自动构建流程.assets/image-20211117230900667.png) ##### 清理镜像构建服务器的Jar包并重新上传 * 采用远程执行脚本清理镜像构建服务器的旧Jar包 * 复制新构建成功的Jar至镜像构建服务器上 ##### 清理旧的容器实例 ``` container=`docker container ls -a | grep $container_name | awk '{print $1}'` echo 'stop container ' $container [[ -n $container ]] && docker stop $container echo 'rm container ' $container [[ -n $container ]] && docker rm $container ``` ##### 清理旧的镜像实例 ``` image=`docker images | grep $image_name | awk '{print $3}'` echo 'rm image ' $image [[ -n $image ]] && docker rmi $image ``` ##### 构建镜像文件 dockerfile如下: ``` # 基础镜像 FROM openjdk:8-jre # author MAINTAINER ruoyi # 挂载目录 VOLUME /home/ruoyi # 创建目录 RUN mkdir -p /home/ruoyi # 指定路径 WORKDIR /home/ruoyi # 复制jar文件到路径 COPY ./jar/ruoyi-modules-system.jar /home/ruoyi/ruoyi-modules-system.jar # 启动系统服务 ENTRYPOINT ["java","-jar","ruoyi-modules-system.jar"] ``` 构建镜像: ``` docker build -t ruoyi-modules-system:0.0.1 . ``` ##### 运行容器实例 ``` new_image=`docker images |grep $image_name |awk '{print $3}'` [[ -n $new_image ]] && docker run -d -p 19201:9201 --name $container_name $new_image ```