实验三:Gitlab+jenkins+web-server(tomcat)+webhook 自动发布
自动发布:
当我们修改仓库代码,提交的时候,提交完成他会自动触发jenkins,实现项目的自动发布
如果开发人员修改了代码;(钩子)利用webhook自动去代码仓库(gitlab)获取新的代码,在jenkins上利用maven进行构建;
构建完成后发布到web-server(新版本的上线【新版本自动化上线】)
1.jenkins部署
①安装插件(Generic Webhook Trigger)
点击Manage Jenkins(系统管理)—————Manage Plugins(插件管理)—-可选插件(搜索Generic Webhook Trigger插件)——————点击立即安装即可
②配置项目(上午的cloud项目,在这个基础上做的修改)
重新构建触发器:
只修改触发器这一个地方,修改完报错退出即可。
然后接着在gitlab上操作:
找到对应的cloud项目,进行webhook的关联
点击设置———-webhooks,进入webhooks的管理界面:
在做这步操作前可以:
1.先开启允许本地网络
2.配置仓库的webhook
在将更改推送到 GitLab 时进行构建。GitLab webhook URL:http://192.168.112.135:8080/jenkins/project/cloud (图见笔记) —-> 测试 200 ok
3.gitlab(模拟项目代码的更新提交)
两种方法模拟代码更新:
1.gitlab上修改
2.本地提交
项目cloud ---> src/main/webapp/index.jsp ---> 修改完后记得提交 (观察jenkins对应的项目) 等待一段时候后,浏览器访问web-server
下面采用的是在gitlab上修改:
在gitlab上面更新代码内容并提交,然后会自动触发jenkins构建 直接等待构建完成 浏览器访问访问验证
浏览器访问:
实验总结:
当项目代码提交到gitlab服务器,如果部署了jenkins+gitlab+web-server+webhook 新的项目会自动发布上线。
常见错误总结:
若出现不允许本地网络请求,就修改网络:
所有报这个错的,检查自己的gitlab看看是不是公开的仓库。
实验二:GitHub+jenkins+web-server(tomcat) 构建的时候 网络连接超时(正常现象) githud仓库地址
1.安装对应的插件(jenkins)
Deploy to container
Git (插件比较多)
Maven Integration
Publish Over SSH
2.配置ssh
添加jenkins的私钥到key的位置
配置web-server的相关信息(name,ip地址,用户,目录)
jenkins—-> web-server 免密
3.全局配置 git maven jdk 相关配置
4.创建任务