前言

因为公司指定的是jdk8进行开发的,所以这里是以jdk8+jenkins的war包(jenkins 2.346.1版本)形式进行讲解的(高版本的jdk安装应该更顺滑),如果是rpm方式安装的朋友可以略过。
war包的下载地址:https://mirrors.jenkins.io/war-stable/2.346.1
war包的各个版本列表:https://mirrors.jenkins.io/war-stable

一、检查当前服务器的配置情况以及安装环境

这里只是检查是否有这些环境,没有也没关系,下文会有详细的安装教程(也方便我记性不好的时候查看)。

1、检查服务器的内存和磁盘

  • jenkins官方给出的服务器基础要求是(官方地址):

最低推荐配置:
256MB可用内存
1GB可用磁盘空间(作为一个Docker容器运行jenkins的话推荐10GB)

为小团队推荐的硬件配置:
1GB+可用内存
50 GB+ 可用磁盘空间

在安装之前,查看服务器是否支持,避免内存占用100%。

  • 查看内存和磁盘
## 查看可用内存:可以使用 free 命令来查看当前服务器的内存使用情况
## 显示内存的详细信息,包括总内存、已使用内存、空闲内存等
free -h

## 查看磁盘空间:可以使用 df 命令来查看当前服务器上各个挂载点的磁盘空间使用情况。
## 包括文件系统、总容量、已使用空间、可用空间等
df -h

2、检查是否安装jdk

jdk是Java运行基础,得保证安装了jdk

## 查看jdk版本
java -version

在这里插入图片描述
出现如下信息,表示安装了,如果不存在,下方有详细安装教程。

## 查看安装的jdk的位置
 whereis java

在这里插入图片描述
这个就是jdk安装的位置

3、检查是否安装maven

## 检查Maven版本
mvn -v

在这里插入图片描述
出现如上内容,就表示maven环境存在,不用重复安装,如果不存在,按下方方式安装就好。

4、检查是否安装git

## 查看git版本
git --version

在这里插入图片描述

## 查看git在哪里
whereis git

在这里插入图片描述
如图就是git的安装位置,这个需要最后配置在jenkins的环境里。

二、安装环境

1、安装jdk

(1)下载jdk包

在官网上找到想要安装的版本,下载jdk-8u381-linux-x64.tar.gz包
oracle jdk下载地址:https://www.oracle.com/java/technologies/downloads/#java8
openjdk 地址(higher jdk8):https://jdk.java.net/archive/
openjdk 地址(jdk8):https://jdk.java.net/java-se-ri/8-MR5

(2)安装jdk并配置环境变量

将下载下来的包上传到服务器上(Windows可使用FinalShell界面工具,MacOS可使用royalTSX界面工具)

## 将包解压到指定目录 /java8(如果不存在,需创建文件夹)
tar -zxvf jdk-8u381-linux-x64.tar.gz -C /java8

## 查看文件是否上传成功
ll /java8/

## 配置环境变量
vim /etc/profile
## 在/etv/profile的最后一行添加
export JAVA_HOME=/jdk8/jdk1.8.0_381
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
## 重载配置文件
source /etc/profile
## 检查是否配置成功,出现版本信息即为成功
java -version

2、安装maven

(1)下载maven包

maven下载地址:https://maven.apache.org/download.cgi
各个版本下载地址:http://archive.apache.org/dist/maven/maven-3/

我这里下载的是apache-maven-3.9.4版本
在这里插入图片描述

(2)配置环境变量

将下载好的apache-maven-3.9.4-bin.tar.gz解压到指定位置,我这里解压到/usr/local目录

## 解压到/usr/local目录
tar -zxvf jdk-8u381-linux-x64.tar.gz -C /usr/local
## 查看解压后的文件
ll /usr/local

配置maven环境变量

## 配置环境变量
vim /etc/profile
## 在/etv/profile的最后一行添加,保存退出
export MAVEN_HOME=/usr/local/apache-maven-3.9.4
export PATH=$MAVEN_HOME/bin:$PATH
## 重载配置文件
source /etc/profile
## 检查是否配置成功,出现maven版本信息即为成功
mvn-v

3、安装Git

官方安装教程:https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git

(1)下载Git包

官方下载地址:https://git-scm.com/download/
各个版本地址:https://mirrors.edge.kernel.org/pub/software/scm/git/

选择自己想要的版本下载即可,这里以git-2.34.1.tar.gz为例。
在这里插入图片描述

(2)编译配置Git环境变量

将下载好的git-2.34.1.tar.gz包解压到指定位置。

## 解压到/usr/local目录
tar -zxvf git-2.34.1.tar.gz -C /usr/local/git

## 查看解压后的git文件夹
ll /usr/local/git

## 进入解压后的文件夹git-2.34.1
cd git-2.34.1

## 配置git安装路径,编译并且安装
make prefix=/usr/local/git all
sudo make prefix=/usr/local/git install

## 将git指令添加到bash中,配置环境变量
vim /etc/profile

编辑/etc/profile文件

## 在最后一行加入
export PATH=$PATH:/usr/local/git/bin
## 重载配置文件
source /etc/profile

## 查看git版本,验证是否安装成功
git --version

## 可以通过whereis git查看git的位置,方便下文的Jenkins环境配置
whereis git

三、安装jenkins

1、下载Jenkins的war包

官方下载地址:https://www.jenkins.io/zh/download/
各个版本Jenkins下载地址:https://mirrors.jenkins.io/war-stable/
一般选择稳定版,因为我们使用的是jdk8环境,所以只能选择2.346及其以下版本的。我之前安装了一个2.1xxx版本的,下载插件的时候会提示版本过低,所以建议使用2.346版本,我之后改为了2.346.1版本。
在这里插入图片描述
在这里插入图片描述
将下载好的jenkins.war包,放在服务器上,我这里是放在/user/local/jenkins目录下。
为了减少之后启动,写了一个启动脚本start.sh,放在同级目录下。
脚本编写如下:

## 进入war包目录
cd /usr/local/jenkins

## 创建启动脚本文件start.sh
touch start.sh

## 给脚本赋予操作权限
chomd 777 start.sh

## 编辑脚本
vim start.sh

进入编辑界面,填写如下内容:

## war包名称
JAR_NAME="jenkins.war"

## 查找是否有运行的jenkins.war 返回pid
pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`

## 输出的日志位置 如果报文件不存在,就在jenkins目录下touch nohup.out,就ok了
LOG_PATH=/usr/local/jenkins/nohup.out

## 如果pid不存在,说明没有正在运行的jenkins.war,直接启动
if [ -z $pid ]; then
	## 后台运行 jenkins.war --httpPort指定端口8080 ,如果端口被占用了,可指定其他端口
	## 因为我使用了nginx代理端口,所以使用 --prefix 指定了请求前缀为/jenkins 这个需要在nginx中配置相同前缀/jenkins,就可以外网访问jenkins了
	## 如果没有使用反向代理,就不需要添加 --prefix="/jenkins" 这一截
    nohup java -jar $JAR_NAME --httpPort=8080 --prefix="/jenkins"  > $LOG_PATH 2>&1 &
    ## 查看启动后的pid
    pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
    echo "Service ${JAR_NAME} is started!pid=${pid}"
    tail -f ${LOG_PATH}
## 如果pid存在,说明有正在运行的jenkins.war,需要先杀掉这个进程,再重新启动jenkins.war
else
	## 杀掉已有进程
    kill -9 $pid
    ## 重新运行jenkins.war
    nohup java -jar $JAR_NAME --httpPort=8080 --prefix="/jenkins"  > $LOG_PATH 2>&1 &
    echo "Service ${JAR_NAME} is restarted!pid=${pid}"
    tail -f ${LOG_PATH}
fi

另外:如果以后相对Jenkins进行升级,可以下载高版本的Jenkins的包直接替换掉当前这个jenkins.war。

2、配置Jenkins环境和插件,以及项目的持续集成构建(这里以GitLab为例)

(1)进入Jenkins页面,登陆

如果是本地安装,则直接访问 http://localhost:8080,即可进入页面;
如果是使用域名外网访问,则访问nginx配置的前缀对应的 http:域名/jenkins
在这里插入图片描述
推荐安装的插件比较多,我选择的是选择插件来安装,选择git对应的几个插件(Deploy to container Plugin、Git Parameter Plug-In、Git plugin、GIT server Plugin、GitHub Authentication plugin、GitHub API Plugin、GitHub Organization Folder Plugin、GitHub plugin等),以及Maven Integration。

安装的时候中途可能会出现插件下载失败,可能是因为版本不对应(有点插件影响不大,可以先不管它),等到都下载完毕(不管成功还是失败),可以先按照以下流程安装配置服务,能正常运行就表示ok啦。

如果进入页面没有安装,之后可以进入选项:Manage Jenkins —> Manage Plugin —> 可选插件 —>搜索maven—>选择安装 来选择需要安装的插件。

这里推荐安装Git Parameter,用于指定Git分支。

插件下载安装完成之后,需要重启jenkins才能生效。

(2)配置maven

进入选项:Manage Jenkins —> Global Tool Configuration

在这里插入图片描述
填写上文配置好的maven配置文件,以及maven的位置
在这里插入图片描述
在这里插入图片描述

(3)配置jdk

在图中位置配置好对应jdk位置
在这里插入图片描述

(4)配置git

在图中位置配置git的安装位置
在这里插入图片描述

(5)配置GitLab项目,持续集成
  • 在Jenkins首页,点击New Item
    在这里插入图片描述
  • 新建一个maven项目,项目命名根据项目需求或者个人喜好
    在这里插入图片描述
  • 选择Git
    在这里插入图片描述
  • 配置用户名、密码,配置打包分支,在下方repositories配置项目的git地址URL
    在这里插入图片描述
  • 配置触发器,此处输入的是5个*号空格隔开,表示只要有代码提交则进行构建。
    在这里插入图片描述
  • 配置启动前执行脚本
    在这里插入图片描述
#停止正在运行的项目,把test改成目标jar
echo "检查服务是否运行"
JAR_NAME="test.jar"
## 查找是否有运行的jenkins.war 返回pid
pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
if [ -z "$pid" ];
then
 echo "[ not find pid ]"
else
 echo "find result: $pid "
 kill -9 $pid
fi

配置打包跳过测试,clean package -Dmaven.test.skip=true
在这里插入图片描述

  • 配置构建成功之后,执行脚本
    在这里插入图片描述
JAR_NAME="test.jar"
echo "授予权限"
chmod 777 $JAR_NAME
echo "运行jar包"
sleep 1s
BUILD_ID=dontKillMe nohup java -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=256M -jar $JAR_NAME
## 如果需要运行多个模块,可以配置多个jar包脚本

配置完成之后,回到首页执行第一次构建,第一次构建失败,是由于脚本中的jar包路径不一致造成。可以在第一次构建完成之后,查看构建日志里的jar包路径,配置在脚本中的JAR_NAME位置。
再次执行构建,即可正常发版。以后每次提交新代码到指定分支,不需要自己手动打包,jenkins会帮助我们自动构建。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐