centos7 安装jenkins

文章目录


前言

正在学习jenkins+docker部署前后端分离项目,安装jenkins的时候遇到了一些问题,本着安装步骤重新做一下记录。


一、pandas是什么?

Jenkins 是一个开源的、基于 Java 开发的 持续集成和持续交付 (CI/CD) 工具。它的核心使命是自动化软件开发过程中的构建、测试和部署阶段,从而显著提高开发效率、软件质量和发布速度。

二、安装依赖环境

1.前提准备

提前准备好了centos7环境,网络配置成功,能够正常ping通百度。

2.安装git

输入命令

bash 复制代码
yum install -y git

3.安装jdk,以及jdk版本选择

这里jdk使用21,因为之前我用的是openjdk8,安装完以后,到jenkins找到匹配的版本是2.346.1版本

安装完jenkins后初始化时候插件无法下载,
问题排查一 :根据日志排查发现是因为清华源开源网络禁用问题。

请求镜像源网页出现提示:我们检测到您所在的子网和/或所使用的客户端存在大量下载某些较大二进制文件的行为,为保证用户的正常使用,我们阻断了此类请求。

解决方法就是切换网络,或者使用手机热点。

切换了手机热点以后,下载插件依旧失败,
问题排查二 :根据查询问题,进行镜像源的切换,进入到Jenkins > Manage Jenkins > Plugin Manager、点击Advanced页面替换Update Site的url、并submit

切换为了华为镜像源,下载还是失败。
问题排查三 :至此我就不打算解决插件下载问题了,直接使用,有些地方没有插件无法正常使用,比如git插件,没有的话无法配置远程代码仓库。最终我只能放弃jdk8安装了jdk21安装最新版本的jenkins。具体原因到安装jenkins时介绍。

jdk21下载命令如下:

bash 复制代码
wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz -P /opt/software

下载成功后通过命令解压

bash 复制代码
tar -zxvf /opt/software/jdk-21_linux-x64_bin.tar.gz

配置环境变量

bash 复制代码
vi /etc/profile

到最下面将jdk环境变量配置粘贴到最后一行,注意地址。

bash 复制代码
export JAVA_HOME=/opt/software/jdk-21.0.7
export PATH=$JAVA_HOME/bin:$PATH

执行命令使环境变量生效

bash 复制代码
source /etc/profile

4.安装maven

通过命令下载maven

bash 复制代码
wget https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.8.9/binaries/apache-maven-3.8.9-bin.tar.gz

解压maven

bash 复制代码
tar -zxvf apache-maven-3.8.8-bin.tar.gz

配置maven环境变量

bash 复制代码
vi /etc/profile

将以下配置粘贴到最后一行,注意maven地址

bash 复制代码
MAVEN_HOME=/home/soft/maven/apache-maven-3.8.8
PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
export MAVEN_HOME PATH

执行命令使环境变量生效

bash 复制代码
source /etc/profile

修改maven配置,注意地址

bash 复制代码
vi /home/soft/maven/apache-maven-3.8.9/conf/settings.xml

修改本地仓库位置,找到localRepository标签修改内容

bash 复制代码
<localRepository>/home/soft/maven/repository</localRepository>

配置阿里云镜像加速粘贴到mirrors标签中,将原来的配置注释掉

bash 复制代码
    <!-- 国内中央仓库的配置-阿里云中央仓库 -->
    <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>

5.安装NodeJS

下载NodeJS

bash 复制代码
wget https://nodejs.org/dist/v12.18.3/node-v12.18.3-linux-x64.tar.xz

解压

bash 复制代码
tar -xvf node-v12.18.3-linux-x64.tar.xz

配置环境变量

bash 复制代码
vi /etc/profile

将以下内容粘贴到最后一行,注意地址

bash 复制代码
NODEJS_HOME=/home/soft/node-v12.18.3-linux-x64
PATH=$PATH:$NODEJS_HOME/bin
export NODEJS_HOME PATH

执行命令使环境变量生效

bash 复制代码
source /etc/profile

6.验证

输入以下命令验证安装的所需环境是否成功

bash 复制代码
java -version
git --version
mvn -v
node -v
npm -v

如下输出对应的版本信息即为成功。

三、安装Jenkins

https://pkg.jenkins.io/redhat-stable/ 到此网页下查看对应jenkins 和jdk的版本

https://mirrors.jenkins.io/war-stable/下载对应版本的jenkins

因为我们使用的时jdk21所以就下载最新的2.479.1点击下载war包即可

将war包上传到服务器对应的路径下

在war包路径下新建jenkins.sh

bash 复制代码
vi jenkins.sh
bash 复制代码
#!/bin/bash


# 检查参数个数
if [ "${#}" -lt 1 ]; then
	echo "\033[41;37m 脚本使用示例: sh jenkins.sh start(运行)|stop(停止)|restart(重启)  \033[0m"
	exit
fi

# SOFT_DIR='/home/soft'

# 获取脚本第一个参数
APP_OPT=${1}
# 端口
APP_PORT=10000
# 名称
APP_NAME=jenkins
# jar名 | war名
APP_JAR=${APP_NAME}.war
# 程序根目录
APP_JAR_HOME=.
# 日志名
APP_LOG_NAME=jenkins
# 日志根目录
APP_LOG_HOME=.
# 程序运行参数
JAVA_OPTS="--httpPort=${APP_PORT} --prefix=/jenkins"

echo "本次操作服务名:[${APP_NAME}]"
echo "本次操作选择:[${APP_OPT}]"


# 停止
function stop(){
  echo "<-------------------------------------->"
  echo "[${APP_NAME}] ... stop ..."
  # 查看该jar进程
  pid=`ps -ef | grep ${APP_JAR} | grep -v 'grep' | awk '{print $2}'`
  echo "[${APP_NAME}] pid="${pid}
  # 存在则kill,不存在打印一下吧
  if [ "${pid}" ]; then
    kill -9 ${pid}
      # 检查kill是否成功
      if [ "$?" -eq 0 ]; then
          echo "[${APP_NAME}] stop success"
      else
          echo "[${APP_NAME}] stop fail"
      fi
  else
    echo "[${APP_NAME}] 进程不存在"
  fi
}


# 运行
function start(){
  echo "<-------------------------------------->"
  echo "[${APP_NAME}] ... start ..."
  cd ${APP_JAR_HOME}
  echo "当前路径:`pwd`"
  # 赋予可读可写可执行权限
  chmod 777 ${APP_JAR}
  echo "启动命令: nohup java -jar ${APP_JAR} ${JAVA_OPTS} >> ${APP_LOG_HOME}/${APP_NAME}.log 2>&1 &"
  nohup java -jar ${APP_JAR} ${JAVA_OPTS} >> ${APP_LOG_HOME}/${APP_NAME}.log 2>&1 &
  if [ "$?" -eq 0 ]; then
    echo "[${APP_NAME}] start success"
  else
    echo "[${APP_NAME}] start fail"
  fi
}


# 重启
function restart(){
  echo "<-------------------------------------->"
  echo "[${APP_NAME}] ... restart ..."
	stop
	start
}


# 多分支条件判断执行参数
case "${APP_OPT}" in
	"stop")
		stop
		;;
	"start")
		start
		;;
	"restart")
		restart
		;;
	*)
	echo "\033[41;37m 提示:不支持参数 命令 -> ${APP_OPT} \033[0m"
	;;
esac

保存文件通过sh jenkins.sh start命令启动jenkins

然后通过浏览器访问IP:10000/jenkins/等待初始化,

安装推荐插件等待安装完成

用户默认使用admin即可,默认密码即为上面解锁的密码,登录成功以后可在用户管理中修改,路径jenkins->manage->securityRealm

四、验证Jenkins

点击新建任务

输入任务名称,创建自由风格软件

构建步骤这里选择执行shell

输入shell命令

bash 复制代码
java -version
git --version
mvn -v
node -v
npm -v

点击保存即可

然后点击立即构建

点击查看控制台输出


总结

以上就是今天要讲的内容,本文仅仅简单介绍了jenkins的安装和验证。

相关推荐
matrixlzp3 小时前
CentOS7 安装 Jenkins
运维·jenkins
额呃呃3 小时前
对信号的理解
linux·运维·算法
zhaotiannuo_19984 小时前
【Linux kali 更换yum源】
linux·运维·服务器
ybb7046308 小时前
linux第二次作业
linux·运维·服务器
大白同学4219 小时前
【Linux】进程间通信
linux·运维·服务器
..Move...10 小时前
Docker镜像制作
运维·docker·容器
码龄3年 审核中15 小时前
说说SSH的端口转发
大数据·运维·ssh
盛世隐者15 小时前
【Linux】定制Linux系统
linux·运维·服务器
Lxt.星翊18 小时前
MySQL(安装和卸载、数据库存储原理图)
linux·运维·windows
苹果醋318 小时前
JAVA面试汇总(二)多线程(五)
运维·vue.js·spring boot·nginx·课程设计