自动执行构建
之前说过进行构建部署的操作,但是总不能每次执行了代码之后都手动的去页面上点立即构建吧,可不可以当代码推送到git上之后就会自动构建呢
这里的配置是指五分钟轮询检测一下git仓库是否有变动,如果这段时间有提交的话,会自动进行构建,如果该时间段内没有新的提交,则不会进行构建
zookeeper参考Paxos协议,设计了Zab协议,其使用Zab协议来实现分布式数据一致性
Zookeeper使用一个单一主进程来接收并处理客户端的所有事务请求,即写请求。当服务器数据的状态发生变更后,集群采用Zab原子广播协议,以事务提案Proposal的形式广播到所有的副本进程上,其保证一个全局的变更序列,即可以为每个事务分配一个全局递增的xid
zookeeper采用的Zab协议(ZooKeeper Atomic Broadcast,ZooKeeper原子广播协议),Zab协议分为两个阶段:Leader Election领导选举和Atomic Broadcast原子广播
基于Zab协议,zookeeper实现了一种主备模式(Leader、Follower)的系统架构来保持集群中各副本之间的数据一致性,使得zookeeper成为了解决分布式数据一致性问题的解决方案
原本的单体架构应用是将一整个应用放在webapp下
马丁提出微服务架构的概念时列出来了一些对于微服务的描述
微服务是一种架构模式
既然要拆分,到底如何拆分服务呢,首先要遵守两个基本前提
对于微服务之间的进程间调用,能访问一次就不要访问多次,尽量的粗粒度的返回更多的东西;而对于进程间的调用,是细粒度的
进入全局工具配置
配置maven、jdk、git等,根据自己的需要进行配置
然后进入插件管理
由于我使用的Gitee做的源代码管理,所以我需要下载一下Gitee的插件
接下里就要配置gitee地址了
前往 Jenkins -> Manage Jenkins -> Configure System -> Gitee Configuration -> Gitee connections
在 Connection name
中输入 Gitee
或者你想要的名字
Gitee host URL
中输入 Gitee 完整 URL地址: https://gitee.com
(Gitee 私有化客户输入部署的域名)
Credentials 中如还未配置 Gitee APIV5 私人令牌,点击
Add 选择Jenkins
Domain
选择 Global credentials
Kind
选择 Gitee API Token
Scope
选择你需要的范围Gitee API Token
输入你的 Gitee 私人令牌,获取地址:https://gitee.com/profile/personal_access_tokens ID
, Descripiton
中输入你想要的 ID 和描述即可。Credentials
选择配置好的 Gitee APIV5 TokenAdvanced
,可配置是否忽略 SSL 错误(视您的Jenkins环境是否支持),并可设置链接测超时时间(视您的网络环境而定)Test Connection
测试链接是否成功,如失败请检查以上 3,5,6 步骤。接下来就是构建新的项目了
之后就是配置源代码地址以及构建步骤了
这里我用的是maven,所以构建的时候选择的是maven,选择之前配置好的maven,然后目标为clean install
配置完之后保存即可
找到配置好的项目,进行构建
构建的时候可以查看构建日志
点击构建的项目序号
点控制台输出就可以看到构建的日志了
构建完成之后可以看到工作空间中会有构建完成的项目
此时就可以拿到war包了,拿到war包之后就可以开始进行构建后的操作了,下一步就是部署
部署有些使用的是war包,有的使用的是jar包
部署war包这里还需要去下载一个插件
回到项目的配置中,增加构建后操作步骤
然后开始进行配置
在这里注意一下,由于这里需要配置tomcat的权限,在tomcat的tomcat-users.xml中进行配置一下用户和角色
1 | <!-- jenkins使用 --> |
配置完成之后启动tomcat即可
在增加构建后操作步骤中选择归档成品,选择需要存档的文件,我这里使用的是**/target/*.jar
这样执行构建后会生成存档文件
jenkins是持续集成CI的工具,拥有简单安装、开箱即用、易于管理、插件扩展等优点,可以连接代码仓库,从中获取源码并进行自动构建,还可以生成单元测试报告、归档程序包等后续操作
我是在mac电脑上进行操作的,使用mac电脑做的示例(其他可以在https://www.jenkins.io/download/下载)
首先下载jenkins
1 | #下载最新版本 |