前言:持续集成需要的基本环境: 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啦