Jenkins+maven持续集成的实现

环境

系统:centos 7

tomcat位置:/usr/local/jbreport/apache-tomcat-8.5.57

jdk位置:/usr/local/jbreport/jdk1.8.0_152

安装Jenkins

下载依赖

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

导入密钥

rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

安装

yum install jenkins

配置jdk

编辑Jenkins配置文件
vi /etc/init.d/jenkins
加入一行自己jdk的位置,这里我jdk是/usr/local/jbreport/jdk1.8.0_152

注意:直接加入/usr/local/jbreport/jdk1.8.0_152 是不行的,他这里指向的是bin目录下Java可执行文件,/usr/local/jbreport/jdk1.8.0_152/bin/java

注意:如果服务器上自带了openjdk,或者已有jdk环境。那么可以使用which java 查看所在的位置,在/etc/init.d/jenkins中根据所在位置配置即可

保存后 重新加载一下服务

systemctl daemon-reload

启动Jenkins

systemctl restart jenkins

查看运行状态

systemctl status jenkins

开通Jenkins默认端口8080

firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
firewall-cmd --permanent --query-port=8080/tcp

浏览器访问:http://192.168.31.170:8080

配置Jenkins

解锁Jenkins

根据页面提示到服务器去查看/var/lib/jenkins/secrets/initialAdminPassword文件
cat /var/lib/jenkins/secrets/initialAdminPassword

安装插件

安装推荐的插件

下载插件

下载源码插件

源码在git上的下载Git plugin插件(我这里默认已经安装了)
源码在svn上的下载Subversion插件

下载maven插件

下载并配置maven 下载:

wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz

解压:

tar -zxvf apache-maven-3.5.4-bin.tar.gz

创建一个仓库目录

cd apache-maven-3.5.4/
mkdir repo

移动到自己喜欢的位置
mv /root/apache-maven-3.5.4 /usr/local/jbreport/maven
rm -rf /root/apache-maven-3.5.4
rm -rf /root/apache-maven-3.5.4-bin.tar.gz

配置maven环境变量

vi /etc/profile

在文件末尾添加maven所在位置的环境变量
MAVEN_HOME=/usr/local/jbreport/maven
export PATH=${MAVEN_HOME}/bin:${PATH}

保存后刷新一下环境变量,并验证maven环境
source /etc/profile
mvn -v

配置maven源和本地仓库

vi /etc/profile

在文件末尾添加maven所在位置的环境变量
MAVEN_HOME=/usr/local/jbreport/maven
export PATH=${MAVEN_HOME}/bin:${PATH}

保存后刷新一下环境变量,并验证maven环境
source /etc/profile
mvn -v

创建自动构建任务

新建一个任务

取一个好听的名字,选择maven项目,点击确定

配置

勾选丢弃旧的构建

源码管理我选择了SVN
Repository URL : 源码地址
Credentials : 凭据,也就是svn的账号密码,点击后面添加按钮添加一个
下面几个可以不用管了

勾选构建之前删除旧的工作空间

build 配置

保存配置

全局工具配置

maven-settings.xml配置

jdk配置

maven配置

保存配置

尝试构建一次

发现不能删除自定义空间,于是给jenkins用户授予root权限
vi /etc/sysconfig/jenkins
找到如下行:
将原来的jenkins用户修改为 root用户。
$JENKINS_USER="root"
修改Jenkins相关文件夹用户权限,更改jenkins三个文件夹的用户所有都和用户组:
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
重启Jenkins
systemctl restart jenkins

再次构建成功

Post Steps

上面我已经构建成功了
但构建的目录是自定义的 /usr/local/jbreport/workspace
即目前通过maven编译后的class文件都还在此目录中
所以下面需要通过Post Steps
把maven编译的class移动替换到tomcat的webapps下对应的项目中

在Post Steps中编写自动化脚本


脚本解释

停止tomcat服务
systemctl stop tomcat

删除tomcat下webapps下ROOT项目中的所有内容
rm -rf /usr/local/jbreport/apache-tomcat-8.5.57/webapps/ROOT/*

把构建空间中项目target目录中的WEB-INF和META-INF复制到tomcat中ROOT项目里
cp -r /usr/local/jbreport/workspace/target/jbreport-application/* 	/usr/local/jbreport/apache-tomcat-8.5.57/webapps/ROOT/

启动tomcat服务
systemctl start tomcat

再次构建并验证

构建成功
查看tomcat中ROOT项目中文件的日期都是最新,证实ROOT已更新为最新代码

到此这篇关于Jenkins+maven持续集成的实现的文章就介绍到这了,更多相关Jenkins+maven持续集成内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 在CentOS7上搭建Jenkins+Maven+Git持续集成环境的方法

    本文以部署 Spring boot + Maven 项目为例,使用码云作为代码托管仓库,在 CentOS 7 上搭建 Jenkins 持续集成环境. 1. 准备工作 1.1 安装 Java 环境 Jenkins 是基于 Java 开发的持续集成工具,需要在 Java 环境下运行.用下面命令查看系统是否已安装 Java: yum list installed | grep jdk 如果没有,使用 yum search 命令查找 openjdk 版本,选择合适的 jdk 进行安装: yum sear

  • Jenkins+maven持续集成的实现

    环境 系统:centos 7 tomcat位置:/usr/local/jbreport/apache-tomcat-8.5.57 jdk位置:/usr/local/jbreport/jdk1.8.0_152 安装Jenkins 下载依赖 wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo 导入密钥 rpm --import https://pkg.jenkins.io/re

  • Jenkins+Docker持续集成的实现

    目录 一.Jenkins介绍 二.安装部署Jenkins 1. 环境信息 2. 新建Jenkins用户 3. Jenkins安装方式 4. Jenkins授权和访问控制 5. Jenkins系统配置 三.Jenkins构建maven风格的job 1. 新建maven任务 2. 构建任务配置 3. 源码管理配置 4. 构建触发器配置 5. Maven构建设置 四.Jenkins邮件通知设置 1. 配置jenkins自带的邮件功能 2. 安装使用插件Email Extension Plugin 五.

  • 使用GitLab+Jenkins实现持续集成CI环境的示例代码

    目录 一.持续集成简介 1.GitLab 简介 2.Jenkins 简介 3.GitLab 和 GitHub 的区别 4.持续集成系统的工作流程 二.使用 GitLab + Jenkins 实现持续集成(CI)环境 1.安装 Gitlab 1)登录 Gitlab 2)配置邮件报警 3)创建群组 4)创建项目 5)配置免密克隆 2.安装 Jenkins 1)登录 Jenkins,并安装相关插件 2)配置 Jenkins 实现 GitLab 更新代码 3)在 Jenkins 上创建项目 4)将代码发

  • ASP.NET Core+Docker+Jenkins实现持续集成的完整实例

    前言 在前后端分离开发的项目当中为了避免重复构建发布,我们需要部署一个持续发布环境,而目前的开发环境服务器都是基于 CentOS 的,因此每次在本地发布之后还需要打包,上传,部署,十分繁琐.故这里采用了比较成熟的Jenkins 作为持续部署环境. 方法如下: 1.新建一个ASP.NET Core MVC应用程序: 需要勾选Docker支持 2.将其上传到git: 3.建立Jenkins任务 (1)选择"新建任务",输入任务名称,选择"自由风格项目",然后点击确定:

  • 如何利用Jenkins + TFS为.Net Core实现持续集成/部署详解

    前言 在前后端分离开发的项目当中为了避免重复构建发布,我们需要部署一个持续发布环境,而目前的开发环境服务器都是基于 CentOS 的,因此每次在本地发布之后还需要打包,上传,部署,十分繁琐.故这里采用了比较成熟的Jenkins 作为持续部署环境. 为了方便安装,我们这里使用了 Docker 来进行安装,至于 Docker 安装的步骤这里不在赘述,详情可以参考这一篇博文. 上面安装的是一个较老的版本,这里推荐参考Docker 官方文档来进行安装. 安装好 Docker 之后,拉取 Jenkins

  • 基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持续集成交付环境的详细教程

    环境搭建概述 亲爱的家人们可以到链接:http://xiazai.jb51.net/202105/yuanma/javayaml_jb51.rar  下载所需要的yaml文件. 1.K8S是什么? K8S全称是Kubernetes,是一个全新的基于容器技术的分布式架构领先方案,基于容器技术,目的是实现资源管理的自动化,以及跨多个数据中心的资源利用率的最大化. 如果我们的系统设计遵循了kubernetes的设计思想,那么传统系统架构中那些和业务没有多大关系的底层代码或功能模块,都可以使用K8S来管

  • 构建及部署jenkins pipeline实现持续集成持续交付脚本

    目录 前言 新增的步骤脚本 需要注意的点: 关于执行启动应用脚本 关于健康检查 线程休眠 健康检查方式 遇到的问题及小技巧 小技巧: 问题: 具体的安全策略异常如下: 解决方案: 文末结语 前言 之前的文章中,已经全面介绍过jenkins pipeline的特点及用途,以及实操了一把,将我们的构建产物jar包丢到了目标主机.这篇是接着上篇的实操,实现构建即部署的脚本实现.会在之前的git clone(拉源码),maven build(构建),deploy jar(上传jia包)的基础上,在新增两

  • centos下GitLab+Jenkins持续集成环境搭建(安装jenkins)

    centos下搭建GitLab+Jenkins持续集成环境,供大家参考,具体内容如下 1.安装JDK yum install -y java 2.安装jenkins 添加Jenkins库到yum库,Jenkins将从这里下载安装. wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo rpm --import https://jenkins-ci.org/redhat/jenkins

  • Jenkins与SVN持续集成的示例代码

    概述 Jenkins是一个Java语言编写的开源的持续集成工具,它的前身为Hudson,使用它可以进行项目的自动编译.测试与发布,这极大的减轻了团队之间的繁琐重复的工作,从而加快了整个项目的交付进度. 官网下载Jenkins&SVN&eclipse,版本号没要求,建议使用最新稳定版本 登录Jenkins:http://localhost:8080 登录SVN:http://localhost:3343/csvn 默认admin账号登录SVN,登录后,点击版本库->创建版本库 4.打开

随机推荐