实验三: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插件)——————点击立即安装即可

    1. ②配置项目(上午的cloud项目,在这个基础上做的修改)
    2. 重新构建触发器:
    3. 只修改触发器这一个地方,修改完报错退出即可。

    然后接着在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.本地提交

    1. 项目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.创建任务