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

自动化部署

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

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

image.png

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

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

或者

扫描二维码关注公众号,回复: 4342914 查看本文章

把war上传到linux
启动jenkins 不指定端口默认为8080\color{red}{也可指定jenkins的端口java -jar jenkins.war --httpPort=9090}
java -jar jenkins.war (前台启动方式 ctrl+c就关闭)
nohup java -jar jenkins.war --httpPort=8080 > /data/log/jenkins.log & (推荐后台启动方式)

关闭防火墙
systemctl stop firewalld

http:localhost:8080 访问Jenkins

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


点击安装推荐的插件

image.png

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


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

Jenkins安装成功

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

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


2. Deploy to Container

安装完插件后,重启Jenkins

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

JDK配置

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

全局工具配置配置完成

新建任务

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


这样就能够从gitlab上获取到源码,点击

或者立即构建,就会执行mvn install打包(例子会生成war包)

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

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

这里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"/>

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


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


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

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

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

接下来继续配置Jenkins


添加


保存
点击立即构建


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


构建完成后查看部署项目的服务器上tomcat的webapp,就能看到abc.war。

\color{red}{是不是很神奇呢}

\color{red}{部署项目的服务器与Jenkins可以不是同一台服务器,这里的例子就是不相同的两台linux服务器}

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

\color{red}{现在测试修改代码然后提交到gitlab上。再点立即构建。看页面会不会修改}
更新代码提交到gitlab


点击立即构建


说明构建成功

\color{red}{但是每次都要手动去点击立即构建,能不能在git pull操作时自动触发构建}

安装Gitlab Hook Plugin插件:

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

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

身份验证令牌

保存

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

gitlab钩子配置


add webhook之后会报这么一个错


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


再配置钩子


测试一下配置是否成功


Hook executed successfully: HTTP 201表示成功


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


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

猜你喜欢

转载自blog.csdn.net/YZX2018/article/details/84451290