Tomcat

从0到1体验Jenkins+Docker+Git+Registry实现CI自动化发布

故事扮演 提交于 2020-11-16 06:12:31
一、前言 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。 Jenkins是一个广泛用于持续构建的可视化Web工具,持续构建就是将项目自动化编译、打包、部署。通过规范化来完成,简单,繁琐,浪费时间的重复工作。 Jenkins名言: 构建伟大,无所不能! Jenkins用户手册传送门: https://jenkins.io/zh/doc/ 二、发布流程 工作详细流程: 三、环境准备 服务器角色 IP地址 主机名 运行服务 系统版本 Jenkins/Docker 192.168.115.21 jenkins 安装Docker、Tomcat运行Jenkins、Git客户端、JDK、Maven CentOS 7.4 Git/Registry 192.168.115.22 git 安装Docker、Git服务、Registry私有仓库容器 CentOS 7.4 Docker 192.168.115.23 docker 安装Docker、拉取Tomcat镜像运行Java项目 CentOS 7.4 本文有点长,理论较少、属于实践型的,请大概看一下文章的整体,准备用三台虚拟机来跟着一起实践,否则可能会坚持不下去哦,就算坚持看完了也收获不大,主要在于实践。 四

记录一次No buffer space available问题

こ雲淡風輕ζ 提交于 2020-11-16 05:35:55
前言: 服务器的接口服务一直是好的,突然有一天,恩,接口服务不通了,看log,发现了这个错误: Caused by: java.net.SocketException: No buffer space available (maximum connections reached? ): connect at sun.nio.ch.Net.connect0(Native Method) at sun.nio.ch.Net.connect(Unknown Source) at sun.nio.ch.Net.connect(Unknown Source) at sun.nio.ch.SocketChannelImpl.connect(Unknown Source) at java.nio.channels.SocketChannel.open(Unknown Source) at sun.nio.ch.PipeImpl$Initializer$LoopbackConnector.run(Unknown Source) ... 36 common frames omitted 2019 - 07 - 02 13 : 10 : 18 [main] INFO o.a.c.h.Http11NioProtocol - Pausing ProtocolHandler [ " http-nio

Jenkins+Docker+Git+Registry

╄→гoц情女王★ 提交于 2020-11-16 05:00:51
从0到1体验Jenkins+Docker+Git+Registry实现CI自动化发布 笔者: @拿着保温瓶的年轻人 目录: 一、前言 二、发布流程 三、环境准备 四、部署思路梳理 五、三台机器上操作 六、Git机器上操作 七、Docker机器上操作 八、Jenkins机器上操作 九、上传JAVA项目代码到Git仓库 十、Jenkins发布测试 十一、后面再废话两句 正文: 一、前言 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。 Jenkins是一个广泛用于持续构建的可视化Web工具,持续构建就是将项目自动化编译、打包、部署。通过规范化来完成,简单,繁琐,浪费时间的重复工作。 Jenkins名言: 构建伟大,无所不能! Jenkins用户手册传送门: https://jenkins.io/zh/doc/ 二、发布流程 工作详细流程: 三、环境准备 服务器角色 IP地址 主机名 运行服务 系统版本 Jenkins/Docker 192.168.115.21 jenkins 安装Docker、Tomcat运行Jenkins、Git客户端、JDK、Maven CentOS 7.4 Git/Registry 192.168.115.22 git

confluence中org.apache.tomcat.util.net.NioEndpoint$Acceptor.run Socket accept failed的解决方法

╄→尐↘猪︶ㄣ 提交于 2020-11-16 04:14:45
confluence中org.apache.tomcat.util.net.NioEndpoint$Acceptor.run Socket accept failed的解决方法 参考文章: (1)confluence中org.apache.tomcat.util.net.NioEndpoint$Acceptor.run Socket accept failed的解决方法 (2)https://www.cnblogs.com/heyongboke/p/9806396.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/3797416/blog/4718745

初识springboot(傻瓜式教程)

£可爱£侵袭症+ 提交于 2020-11-15 07:06:42
初识springboot(傻瓜式教程) 项目所需的版本 IDEA 2018 maven 3.x jdk-1.8 IDEA创建spring-boot项目(maven方法) 1、创建一个maven工程 点击Create New Project 选择新项目的SDK,按图中步骤操作。第一次创建会要求选择jdk位置 按图中顺序填写GroupId和ArtifactId,点击next 接下来会看到IDEA已经帮我们填写好项目名了,也就是我们填写的ArtifactId,直接finish. finish后IDEA会打开刚创建好的项目,这是右下角会跳出maven包是否自动导入,选择右边的自动导入,这样以后我们写在pom.xml里面的东西就会自己下载导入了。 2、配置springboot启动 在pom.xml里面添加springboot的依赖(加入图中红色框内代码) <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.1.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependencies>

常见java异常赏析

妖精的绣舞 提交于 2020-11-15 06:58:07
1。java.lang.ClassCastException 类强制转换时不匹配 例如,list.get(i)得到的是类CB的实例,则下面的语句会抛出该异常 CA ca= (CA) list.get(i); 2。java.io.NotSerializableException 所有放到Session中的对象都要实现java.io.Serializable接口。 因为Tomcat会对session里的对象进行持久化,如果没有实现上述接口就会抛出该异常 public class BusinessObject implements java.io.Serializable 来源: oschina 链接: https://my.oschina.net/u/43160/blog/717237

Android 实现HTTPS自签名证书(非常详细)

穿精又带淫゛_ 提交于 2020-11-14 17:09:24
1.HTTPS协议 HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议。简单来说, HTTP是超文本传输协议 ,信息是明文传输。SSL 是指安全套接字层,它是一项标准技术,使用加密算法打乱传输中的数据,可确保互联网连接安全。 所以HTTPS是超文本传输安全协议。 TLS(传输层安全)是更为安全的升级版 SSL。由于 SSL 这一术语更为常用,因此我们仍然将我们的安全证书称作 SSL。 如果某个网站受 SSL 证书保护,其相应的 URL 中会显示 HTTPS,单击浏览器地址栏的挂锁图标,即可查看证书详细信息,包括颁发机构和网站所有者的公司名称。 1.1Https的优点 : 1.认证用户和服务器,确保数据发送到正确的客户机和服务器 。(验证证书) 2.加密并维护数据的完整性,确保数据在传输过程中不被改变。(加密,摘要算法) 一般支持HTTPS的网站,都是CA(Certificate Authority)机构颁发的证书,一般机构颁发的证书都是需要交费的,购买受信任机构颁发的证书每年要交 100 到 500 美元不等的费用,到期就需要续费。如果证书过期、已被吊销或者非证书所代表的域名,都是不被浏览器信任的。 不被浏览器信任,也就无法通过网络直接访问。 我们可以使用自签名的方式,花一分钱让网络能正常的访问获取到服务器数据,访问链接时手动信任该证书或忽略证书验证

Kubernetes简介

只谈情不闲聊 提交于 2020-11-14 13:08:21
  Kubernetes是Google开源的一款容器编排工具,它是诞生在Google内部运行N多年的博格系统之上的产物,因此其成熟度从其诞生初期就广泛受到业界的关注,并且迅速成为编排工具市场的主流,其社区活跃度非常高,版本迭代速度也很惊人,它的主要作用是对Docker容器做编排工作,当然,Docker只是容器工具的一种引擎,K8s可支持多种容器引擎,但从目前来说Docker容器引擎是具有绝对优势的,容器需要编排,也很容易理解,因为我们最核心要跑到业务通常都是LNMT/P的不同形式的扩展,但NMT/P他们的运行是有先后顺序的,也就是说MySQL要先启动,然后是Tomcat或PHP,最后是Nginx,而控制这种顺序就需要有容器编排工具来帮我们实现,另外,我们的业务希望7x24小时在线,如何保障?靠人是很难做到实时的,但编排工具可以,K8s帮我们实现了很多控制器,这控制器可以帮我们监控容器运行的状态,并自动帮我们重建(在容器时代重启就是重建)容器,并且还可以在容器处理能力不足时,自动根据我们定义的扩展规则,自动创建新Pod(k8s中最小单元,每个Pod中可有一个或多个容器),并且在压力下去后,自动删除Pod等等功能。 另外这里是K8s的中文官方文档zh站点:    https://k8smeetup.github.io/docs/ Kubernetes: