1.Jenkins介绍
Jenkins是帮我们将代码进行统一的编译打包、还可以放到tomcat容器中进行发布。就是我们通过配置,将以前:编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址URL,将代码拉取到其“宿主服务器”(Jenkins的安装位置),进行编译、打包和发布到web容器中。
Jenkins是监控软件开发流程、快速显示问题 、提高开发效率过程控制
jenkins特性
- 易于安装- 不需要安装、不需要数据库,只需通过java -jar jenkins.war或部署到一个servlet容器中
- 易于配置- 所有的配置都可能通过jenkins提供的web界面完成,当然如果你喜欢,也可以通过手动修改xml文件进行配置
- 测试报告- 生成JUnit或TestNG的测试报告.集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知。
- 文件识别- jenkins能跟踪每次构建生成哪些jar包以及使用哪个版本的jar包
- 分布式构建- 支持Jenkins能够让多台计算机一起构建/测试。
- 插件支持- jenkins可以通过第三方插件扩展,也可以根据团队需要开发插件
- 任务(Job)和构建(build)- 任务:(Job)是Jenkins的一个执行计划,是一系列操作的集合。 构建:是Jenkins的任务的一次运行。
2.Jenkins实战案例
1.基础环境
- centos7
- github,gitee,gitlab
- 192.168.229.11 部署jenkins(4\6\8G)
- 192.168.229.21充当tomcat网站服务器
- 关闭防火墙\关闭selinux\配置了yum源(base,epel 阿里源)
2.安装相关工具
- 安装相关工具- JDK- Tomcat- mave安装- 部署git- Jenkins
1.mave安装
- 官网下载 maven3.8.8 包- https://dlcdn.apache.org/mavehttps://dlcdn.apache.org/mave选择自己需要的maven版本
wget https://dlcdn.apache.org/maven/maven-3/3.8.8/source/apache-maven-3.8.8-src.tar.gz
tar -zxvf apache-maven-3.8.8-src.tar.gz -C /usr/local/
mv /usr/local/apache-maven-3.8.8/ /usr/local/maven
- 配置环境变量- vim /etc/profile.d/jenkins_tools.sh
export M2_HOME=/usr/local/maven
export M2=$M2_HOME/bin
PATH=$M2:$PATH:$HOME/bin:/usr/local/git/bin
export MAVEN_HOME=/usr/local/maven
export PATH=${MAVEN_HOME}/bin:$PATH
- 生效- source /etc/profile.d/jenkins_tools.sh
- 测试- mvn -version
2.部署git
- 1.安装依赖包
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker fontconfig -y
- 2.git官网下载最新版本GIT
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
使用提供的安装包即可
- 3.安装git:- 解压并cd到解压目录- # tar xf git-2.9.5.tar.gz- # cd git-2.9.5/- # make prefix=/usr/local/git all- 编译源码包,安装在/usr/local/git目录下- # make prefix=/usr/local/git install- 源码安装- 修改环境变量- # vim /etc/bashrc- PATH=$PATH:$HOME/bin:/usr/local/git/bin- 更新git的路径,从用户主目录下的
bin
目录 修改到 /usr/local下面- # source /etc/bashrc- 测试是否安装成功:- git --version ![](https://i-blog.csdnimg.cn/direct/c263e4318af441fd8d4250b332756bf4.png)
3.安装jdk、tomcat
- 1、上传 jdk11 tomcat9
- 2、解压jdk- [root@jenkins ~]# tar xf jdk-11.0.16_linux-x64_bin.tar.gz
- 3、解压tomcat- [root@jenkins ~]# tar xf apache-tomcat-9.0.79.tar.gz
- 4、拷贝并修改名称- [root@jenkins ~]# mv jdk-11.0.16 /usr/local/java && mv apache-tomcat-9.0.79 /usr/local/tomcat
- 5、处理环境变量- [root@jenkins ~]# vim /etc/profile.d/java.sh
- TOMCAT_HOME=/usr/local/tomcat
- JAVA_HOME=/usr/local/java
- PATH=$TOMCAT_HOME/bin:$JAVA_HOME/bin:$PATH
- export TOMCAT_HOME JAVA_HOME PATH
- [root@jenkins ~]# source /etc/profile.d/java.sh
- java -version
4.上传jenkins
- 官网下载jenkins:- jenkins.war/- 下载2.422- 上传至服务器
- [root@jenkins ~]# rm -rf /usr/local/tomcat/webapps/*- [root@jenkins ~]# cp jenkins.war /usr/local/tomcat/webapps/- 我这里用的是2.422
3.启动tomcat,并页面访问
- [root@jenkins ~]# /usr/local/tomcat/bin/startup.sh
- 访问 ip:8080/jenkins eg: http://192.168.88.100:8080/jenkins
- 前台配置jenkins
- 加载中
- 解锁Jenkins
- 为了安全考虑,首先需要解锁Jenkins
- 添入以下文件密码到上图页面中- cat /root/.jenkins/secrets/initialAdminPassword
- 点击继续
- 选择suggested的插件进行下载
- 等待安装完成。
- 创建用户- 用户名:mu- 密码: xxxxxxxx- jenkins的分享地址-
- 前台安装完成
1.欢迎界面
2.系统配置
- Manage Jenkins
1.全局变量设置
2.全局工具配置
3.maven配置
- /usr/local/maven/conf/settings.xml选择设置系统里文件,对应就是maven文件中setting对应具体位置并将该文件路径设置成全局的下面其他工具Java等路径也是同样的
4.添加JDK工具
- 点击新增---> 取消自动安装 ---->然后查询Jenkins服务器上JDK的路径,填写JAVA_HOME ---> 保存即可
- 添加git工具- /usr/local/git/bin/git
5.添加maven工具
- /usr/local/maven
- 点击保存
6.SSH 设置-
- 目的- (192.168.229.11)jinkens服务器上的maven将开发产生的*.war包。 通过SSH自动推送到远程tomcat 服务器上(192.168.229.21)。 需要手工配置ssh key。配合自动化推送- 192.168.88.100是jenkins- 192.168.88.101是tomcat网站服务器,代表业务服务器- 1.jenkins服务器准备秘钥认证- # ssh-keygen- 一路回车- # ssh-copy-id -i 192.168.88.101上面安装是在104机器上- 注意这里的192.168.88.101是一台tomcat网站服务器。什么都不用安装,接到代码即可。- #ssh 192.168.88.103 登录不需要密码即可- # exit 切记测试远程登录后退出!!
- .在jenkins上配置ssh信息
- 准备SSH私钥
- [root@localhost ~]# ip a | grep inet
- inet 192.168.229.11/24 brd 192.168.0.255 scope global dynamic ens32
- [root@localhost ~]# cat ~/.ssh/id_rsa
3.安装插件
- (1)Maven Integration plugin 安装此插件才能构建maven项
- (2)Deploy to container Plugin 安装此插件,才能将打好的包部署到tomcat上
- (3) 安装git相关3个插件- 安装过程同第一个插件:- GitHub Authentication- GitHub Branch Source- 默认已安装- GitHub Organization Folder- 淘汰了。不用安装这个插件了
- (4)安装插件:Publish Over SSH回到上面。系统配置刚才给你加!!!的地方,
4.配置ssh的秘钥
- 复制cat出来的所有内容,粘贴到下一步页面上的key中。
- 进入jenkins系统设置
- 粘贴到jenkins
4.Jenkins+Maven+Github+Tomcat 自动化构建打包、部署
- 创建一个Maven工程
- 1.构建maven项目
2.源码管理
- 选择版本控制器和仓库地址- 互联网仓库1- GitHub - bingyue/easy-springmvc-maven: A simple demo about how to use maven combine spring mvc,for the blog "Jenkins application" sampleA simple demo about how to use maven combine spring mvc,for the blog "Jenkins application" sample - bingyue/easy-springmvc-mavenhttps://github.com/bingyue/easy-springmvc-maven.git
如果有图中的提示,请注意你的git工具在jenkins中是否配置正确
选择git添加远程仓库项目网址 操作对方master分支下项目(默认都是) 触发器是默认
如果是私有仓库,这里需要建立credentials身份认证
3.设置触发器(保持默认)
4.设置构建(编译打包)
- 手动添加Goals and options- clean package -Dmaven.test.skip=true 跳过测试东西(maven没有也可跳过)
5.构建后操作
- 在构建后设置中 选择:(send build artifacts over ssh)通过SSH发送构建工件
- 图示- 点击-》增加构建后操作 项目部署完后,接着操作远程服务器tomcat
说明
- name- ssh server 因为之前的配置会默认出现tomcat业务服务器的名字
- source file- target/*.war 该服务器会得到.war包- 构建之后,在jenkins服务器上是可以自动看到war包的。(该路径不需要创建) # ls /root/.jenkins/jobs/testjob1/builds/target/*.war
- Remove prefix- 自动删除路径前缀target(不需要创建路径前缀)
- Remote directory 将上面.war包放到tomcat服务器设置目录下
tomcat业务服务器上的路径,需要提前在192.168.229.21(tomcat)上创建该目录。 用来存放网站源代码。(需要后台创建)
mkdir -p /jenkins/war
tomcat(192.168.229.21)在接收到源码之后的自定义动作。比如:将源码拷贝到网站的主目录(/jenkins),并执行一些其他操作如重启服务器等(或创建文件touch)(需要后台创建)
mkdir /jenkins/sh
cat /jenkins/sh/deploy.sh
cp -r /jenkins/war/*.war /jenkinstouch /tmp/aaaaaa.txt
chmod +x /jenkins/sh/deploy.sh
保存即可
6.保存
执行构建
- 2.查看构建结果 - 结果路径
输出信息
版权归原作者 慕雪磊 所有, 如有侵权,请联系我们删除。