Jenkins如何使用DockerFile自动部署Java项目

 更新时间:2020年08月28日 09:13:53   作者:shookm  
这篇文章主要介绍了Jenkins如何使用DockerFile自动部署Java项目,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Jenkins下用DockerFile自动部署Java(SpringBoot)项目,简单自用,勿喷

一、Jenkins构建Java(SpringBoot)项目

新建-构建一个Maven项目

需要提一下,现在新安装的没有这个选项,需要在插件里安装一下 Maven Integration

java配置,其他配置查看以前文章

以上配置即可配置完成

二、发布到服务器,DockerFile部署自动构建

Publish SSH配置

这里在目标服务器上放了个shell命令,我这里的web是做了个Nginx的负载均衡,所以路径方面自行修改

Dockerfile配置文件,这里就不介绍了

FROM java:8   #java1.8基础镜像
VOLUME /tmp   #创建/tmp目录并持久化到Docker数据文件夹,因为Spring Boot使用的内嵌Tomcat容器默认使用/tmp作为工作目录
MAINTAINER test  #作者名称
ADD web-0.0.1-SNAPSHOT.jar test/test_web0.jar #复制jar到test下且重命名为test_web0.jar
EXPOSE 8506   #容器开放端口
ENTRYPOINT ["java","-jar","-Djava.security.egd=file:/dev/.urandom","test/test_web0.jar"].
#容器执行命令

删除、重载镜像容器等操作shell,这样做感觉不是太好,以后有更好的办法在解决

#!/bin/bash -l
docker stop test_web0;       #停止容器
docker rm test_web0;        #删除容器
docker rmi test/test_web0;      #删除镜像
cd /usr/local/wwwroot/test_web/test_web0;   #进入目录
docker build -t test/test_web0.;     #构建镜像 .为当前目录的dockerfile
docker run -t -d --name test_web0-p 192.168.2.1:8506:8506 test/test_web0; #创建容器

到这jar包就可以访问了

三、简单的nginx负载均衡(docker下,可略)

这里的前提是我们已经做好了3个web站点

首先下载nginx镜像

docker images nginx

自定义一个目录,写一个新的nginx.conf

user nginx;
worker_processes 1;

error_log /var/log/nginx/error.log warn;
pid  /var/run/nginx.pid;


events {
 worker_connections 1024;
}


http {
 include  /etc/nginx/mime.types;
 default_type application/octet-stream;

 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
      '$status $body_bytes_sent "$http_referer" '
      '"$http_user_agent" "$http_x_forwarded_for"';

 access_log /var/log/nginx/access.log main;

 sendfile  on;
 #tcp_nopush  on;

 keepalive_timeout 65;

 #gzip on;
 
	proxy_redirect   off;
	proxy_set_header  Host $host;
	proxy_set_header  X-Real-IP $remote_addr;
	proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
	client_max_body_size 10m;
	client_body_buffer_size 128k;
	proxy_connect_timeout 5s;
	proxy_send_timeout  5s;
	proxy_read_timeout  5s;
	proxy_buffer_size  4k;
	proxy_buffers   4 32k;
	proxy_busy_buffers_size 64k;
	proxy_temp_file_write_size 64k;
	
	upstream tomcat {      #配置如下,3个WEB
		server 192.168.2.1:9006; 
		server 192.168.2.2:9016;
		server 192.168.2.3:9026;
	}
	server {         #集中在一个ip
  listen  9999;
  server_name 192.168.2.1; 
  location / { 
   proxy_pass http://tomcat;
   index index.html index.htm; 
  } 
 
 }


 include /etc/nginx/conf.d/*.conf;
}

配置完运行

docker run -it -d --name n1 -v /user/n1/nginx.conf:/etc/nginx/nginx.conf --net=host --privileged nginx

还可以用keepalived做成高可用的负载均衡,以后再说

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • JAVA错误类结果类和分页结果类代码详解

    JAVA错误类结果类和分页结果类代码详解

    这篇文章主要介绍了JAVA错误类结果类和分页结果类代码详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • BiConsumer接口中的方法andThen accept使用详解

    BiConsumer接口中的方法andThen accept使用详解

    这篇文章主要为大家介绍了BiConsumer接口中的方法andThen accept使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 解决异常FileNotFoundException:class path resource找不到资源文件的问题

    解决异常FileNotFoundException:class path resource找不到资源文件的问题

    今天小编就为大家分享一篇关于解决异常FileNotFoundException:class path resource找不到资源文件的问题,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • 配置Spring4.0注解Cache+Redis缓存的用法

    配置Spring4.0注解Cache+Redis缓存的用法

    本篇文章主要介绍了详解配置Spring4.0注解Cache+Redis缓存的用法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • springboot+maven快速构建项目的示例代码

    springboot+maven快速构建项目的示例代码

    本篇文章主要介绍了springboot+maven快速构建项目的示例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • java如何创建一个jdbc程序详解

    java如何创建一个jdbc程序详解

    使用Java程序来操作数据库,后者更加直接的话就是使用Java程序来发送SQL语句的技术称之为:JDBC。下面这篇文章主要给大家介绍了关于利用java如何创建一个jdbc程序的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-11-11
  • MybatisPlus搭建项目环境及分页插件

    MybatisPlus搭建项目环境及分页插件

    Mybatis-Plus(简称MP)是一个Mybatis的增强工具,在Mybatis的基础上只做增强不做改变,为简化开发、提高效率而生,下面这篇文章主要给大家介绍了关于MybatisPlus搭建项目环境及分页插件的相关资料,需要的朋友可以参考下
    2022-11-11
  • 如何自定义Jackson序列化 @JsonSerialize

    如何自定义Jackson序列化 @JsonSerialize

    这篇文章主要介绍了如何自定义Jackson序列化 @JsonSerialize,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • 使用GraalVM如何将SpringBoot项目打包成exe

    使用GraalVM如何将SpringBoot项目打包成exe

    本文介绍了如何使用GraalVM和Maven将Spring Boot项目打包成可执行文件的步骤,并详细解释了在打包过程中遇到的常见错误及其解决方法
    2024-12-12
  • IDEA中实现springboot热部署方式

    IDEA中实现springboot热部署方式

    在IDEA中实现SpringBoot的热部署可以通过修改设置来完成,首先在设置中搜索Compiler,并勾选Build project automatically,然后进入Advanced Settings,勾选Allow auto-make to start even if developed application is currently running
    2024-09-09

最新评论