Linux 安装 jenkins 并 配置 maven 项目进行持续集成

前言:持续集成需要的基本环境: JDK、Maven、Jenkins,关于JDK安装配置就不再赘述,本文记录基础就在 JDK环境安装好的情况下,安装Jenkins及Maven

一、下载jenkins 安装包 并进行安装

1、下载安装源,wget -O 下载文件并以指定的文件名保存
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo

2、查看安装源 cat /etc/yum.repos.d/jenkins.repo

[jenkins]
name=Jenkins
baseurl=http://pkg.jenkins.io/redhat
gpgcheck=1      //这里会检测key

3、安装jenkins key
rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key

4、安装jenkins

yum install -y jenkins

5、修改Jenkins 默认端口,进入到jenkins 默认配置文件目录, vim /etc/sysconfig/jenkins

找到  JENKINS_PORT="8080" ,JENKINS_AJP_PORT="8009",分别修改成你需要的端口号。

6、更改端口之后重启 jenkins 服务

sudo service jenkins restart

启动时可能会出现报错,错误截图如下
在这里插入图片描述
查看报错信息: systemctl status jenkins.service
在这里插入图片描述
可能是由于 jenkins jdk 路径未配置

vim /etc/init.d/jenkins

增加自己jdk 路径(可用 which java 进行查看)
在这里插入图片描述
编辑保存后重启,启动成功

启动成功之后可能无法访问,可能由于防火墙未开放端口,开启之后可以进行访问
可能是防火墙的原因,需要将 8080端口添加到防火墙规则中

(1)	将端口8080加入到防火墙中
	firewall-cmd --zone=public --add-port=8080/tcp --permanent

(2)	更新防火墙规则
	firewall-cmd --reload
	
(3)	查看防火墙中已打开的端口
	firewall-cmd --zone=public --list-ports

7、查看 jenkins 日志,获取密码

less /var/log/jenkins/jenkins.log

在这里插入图片描述

8、ls /var/lib/jenkins/ //查看程序主目录

jobs    浏览器上面创建的任务都会存放在这里

logs    存放jenkins相关的日志
	
nodes    多节点时用到

plugins    插件所在目录

secrets    密码秘钥所在目录         //jobs和plugins目录比较重要

9、配置 jenkins 全局配置的 jdk 以及 maven 信息

jdk ,由于我的jenkins 和 jdk 在同一服务器,所以直接采用服务器jdk 路径

在这里插入图片描述

maven 信息(可以先进行下面第二大点操作之后再来配置)
在这里插入图片描述

10、一开始的jenkins 创建新项目的时候可能没有 maven项目进行选择 ,我们可以进入插件目录进行下载

在这里插入图片描述

进入“可选插件”页签,搜索 Maven Integration Plugin, 或者 Pipeline Maven Integration Plugin,由于我这里安装好了,所以搜索不出来,可在“已安装”页签中进行检索查看

在这里插入图片描述

11、创建一个maven 项目,配置项目一些基本配置

源码服务器连接地址和用户名信息配置

在这里插入图片描述

配置构建时的maven 信息 和构建后的操作
clean package  -U -DskipTests=true

clean package -U -DskipTests=true -P xlTest
-P xlTest:如果项目中配置了profile切换正式测试环境的,按照这种方式打包就好了
xlTest 就是profile 中的 id

在这里插入图片描述

二、安装配置Maven

1、使用如下命令,直接安装maven

为了方便我这里就放到src目录下,后面可以自己再更换其他目录	
cd /usr/local/src/  
下载 maven 压缩包
wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
解压下载的安装包 
tar xf apache-maven-3.3.9-bin.tar.gz 

2、配置maven 环境,vi /etc/profile 文件 加入以下信息

export MAVEN_HOME=/usr/local/maven
export PATH=${PATH}:${MAVEN_HOME}/bin

3、更改 maven 的settings 配置文件,使用阿里云的maven 仓库(可做可不做)
在这里插入图片描述

		<mirror>
        <id>nexus-aliyun</id>
         <mirrorOf>*</mirrorOf>
         <name>Nexus aliyun</name>
         <url>http://maven.aliyun.com/nexus/content/groups/public</url>
        </mirror>

    <!-- 阿里云仓库 -->
 	<mirror>
        <id>alimaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>

4、可能有一部分maven 依赖无法从maven 下载,可以选择导入本地jar

mvn install:install-file 
-Dfile=/usr/local/mavenRepository/com/oracle/ojdbc6/11.2.0.3/ojdbc6-11.2.0.3.jar 
-DgroupId=com.oracle 
-DartifactId=ojdbc6 
-Dversion=11.2.0.3 
-Dpackaging=jar

-Dfile: 对于你的jar包的位置
-DgroupId -DartifactId -Dversion三个参数分别对于pom.xml文件中的配置参数选项:如下所示:

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0.3</version>
  </dependency>

三、jenkins 执行 shell脚本 提示权限不够解决方法

第一次推送项目可能会出现如下错误
在这里插入图片描述
**

1.将jenkins账号分别加入到root组中

gpasswd -a jenkins root

2.修改/etc/sysconfig/jenkins文件,使用 /JENKINS_USER 查找

JENKINS_USER=root
如果有JENKINS_GROUP,则进行修改,JENKINS_GROUP=root

修改为root权限运行,重启服务

service jenkins restart

3、忘记了admin 密码(此操作作者还未进行亲身体验,若有需要小伙伴可自行操作哦)

cd /var/lib/jenkins/users/admin/

vim config.xml     //找到<passwordHash>这行,用下面一行替换掉原来的
<passwordHash>#jbcrypt:$2a$10$eJAMBW3qb/ijrFsSxkJnDOB747e0mFWSR03UmLCn96E4N7vL5BYzC</passwordHash>

密码就会被重置为123456啦

关注公众号查看更多资源
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值