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的安装和验证。

相关推荐
一勺菠萝丶15 分钟前
Jenkins 构建 Node 项目报错解析与解决——pnpm lockfile 问题实战
elasticsearch·servlet·jenkins
潘潘潘潘潘潘潘潘潘潘潘潘32 分钟前
【MySQL】从零开始学习MySQL:基础与安装指南
linux·运维·服务器·数据库·学习·mysql
ZzzZZzzzZZZzzzz…36 分钟前
Nginx_Tomcat综合案例
运维·nginx·tomcat·负载均衡·rhce·反向代理·https加密服务
努力努力再努力wz1 小时前
【c++进阶系列】:map和set的模拟实现(附模拟实现的源码)
java·linux·运维·开发语言·c++
哦你看看2 小时前
linux故障排查
linux·运维·服务器
半桔2 小时前
【Linux手册】共享内存:零拷贝实现共享的优势与实操指南
linux·运维·服务器
山顶望月5 小时前
ISO20000与IT运维和运营的关系
运维·it运营·iso20000
杰锅就是爱情7 小时前
OpenObserve Ubuntu部署
linux·运维·ubuntu
lllsure8 小时前
【Docker】容器
运维·docker·容器
Jtti10 小时前
新加坡服务器连接速度变慢应该做哪些检查
运维·服务器