Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署

自动化部署

“自动化”的具体体现:向版本库提交新的代码后,应用服务器上自动部署,用户或测试人员使用的马上就是最新的应用程序

Jenkins获取源码完成打包和部署

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

Jenkins 自身采用 Java 开发,所以要必须安装 JDK; 集成的项目基于 Maven 构架,所以 Maven 也必须安装;
首先要安装JDK1.8和maven
安装JDK1.8和Maven教程

使用java通用的war
到官网下载Jenkins https://jenkins.io/download/

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png 或者

把war上传到linux
启动jenkins 不指定端口默认为8080 《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》
java -jar jenkins.war (前台启动方式 ctrl+c就关闭)
nohup java -jar jenkins.war –httpPort=8080 > /data/log/jenkins.log & (推荐后台启动方式)

关闭防火墙
systemctl stop firewalld

http:localhost:8080 访问Jenkins

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

cat /root/.jenkins/secrets/initialAdminPassword查看管理员密码
输入密码进入到

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

点击安装推荐的插件

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

等待安装(需要linux能够上网) 安装完成

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

右下角使用admin继续登陆 下一步完成之后 如果需要登陆admin 密码是上面查看的管理员密码

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

Jenkins安装成功

使用maven和git搭建Jenkins的自动部署
需要安装git git安装教程

在安装Jenkins中安装所需要的插件
点击系统管理->插件管理 ,安装以下插件
1. Maven Integration jenkins 利用maven编译,打包,所需插件

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

2. Deploy to Container

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

安装完插件后,重启Jenkins

系统管理->全局工具配置 ,配置路径
maven配置

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

JDK配置

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

git配置
which git查询git的安装路径

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

全局工具配置配置完成

新建任务

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

这里使用自己搭建的gitlab做为仓库,因为github的自动构建需要Jenkins有外网才行
配置git

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

这样就能够从gitlab上获取到源码,点击
《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png 或者立即构建,就会执行mvn install打包(例子会生成war包)

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

把打包好的项目放到需要部署的的服务器上
配置构建后操作 构建的项目在target目录下

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

配置需要把项目部署到哪个服务器的tomcat上

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

这里Jenkins的服务器是192.168.79.131。

需要部署的项目的服务器放在192.168.79.132中,需要设置tomcat的账号密码,jenkins才能把部署传上去

到192.168.79.132的tomcat配置文件中设置账号密码
vim /data/apache-tomcat-8.5.35/conf/tomcat-users.xml
加上
<role rolename=”manager-gui”/>
<role rolename=”manager-script”/>
<role rolename=”manager-jmx”/>
<role rolename=”manager-status”/>
<user username=””tomcat_user” password=”123456″ roles=”manager-gui,manager-script,manager-jmx,manager-status”/>

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

tomcat8.5进行管理后台还需要配置webapps/manager/META-INF/context.xml
修改前

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

指谁能访问,注释掉context或者把127修改成\d+ 这是正则表达式

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

点击,登陆上面配置的账号密码 tomcat_user 123456 能登录进去证明配置成功

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

在配置文件server.xml加上修改 URL 地址的编码解码字符集

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

完成需要部署的服务器的tomcat配置

接下来继续配置Jenkins

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

添加

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

保存

点击立即构建

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

正在构建(就是重新打包)

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

构建完成后查看部署项目的服务器上tomcat的webapp,就能看到abc.war。
《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》

访问http://192.168.79.132:8080/abc/就能访问到部署的项目。

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》
更新代码提交到gitlab

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

点击立即构建

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

说明构建成功

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》

安装Gitlab Hook Plugin插件:

系统管理-管理插件-可选插件-Gitlab Hook和Build Authorization Token Root

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

在linux上执行命令生成token(身份验证令牌)
openssl rand -hex 12

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 身份验证令牌

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

保存

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

配置gitlab钩子配置
进到gitlab的Settings-Integrations

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 gitlab钩子配置

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

add webhook之后会报这么一个错

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

gitlab 10.6 版本以后为了安全,默认不允许向本地网络发送webhook请求,如果想向本地网络发送webhook请求,则需要使用管理员帐号登录,默认管理员帐号是admin@example.com,密码就是你gitlab搭建好之后第一次输入的密码

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

再配置钩子

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

测试一下配置是否成功

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

Hook executed successfully: HTTP 201表示成功

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

这样就完成自动构建的配置了,直接git pull 提交代码,就会触发立即构建

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

《Linux(centos7)安装Jenkins与使用maven和git搭建Jenkins的自动部署》 image.png

大功告成

这里是war的jenkins构建。不知道springboot的jar和dubbo配置是否一致,后续学习

    原文作者:不给起这个名字
    原文地址: https://www.jianshu.com/p/49da7121eb86
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞