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

相关推荐
GeminiJM1 小时前
Elasticsearch混合搜索深度解析(上):问题发现与源码探索
大数据·elasticsearch·jenkins
沉默的八哥2 小时前
Linux中LVM逻辑卷扩容
linux·运维·服务器
Otaku love travel4 小时前
实施运维文档
运维·windows·python
basketball6164 小时前
Linux C 管道文件操作
linux·运维·c语言
浩浩测试一下4 小时前
Windows 与 Linux 内核安全及 Metasploit/LinEnum 在渗透测试中的综合应用
linux·运维·windows·web安全·网络安全·系统安全·安全架构
将心ONE5 小时前
使用 lstrip() 和 rstrip() 方法
运维·服务器
言之。6 小时前
借助ssh实现web服务的安全验证
运维·安全·ssh
Two_brushes.7 小时前
【linux网络】深入理解 TCP/UDP:从基础端口号到可靠传输机制全解析
linux·运维·服务器
FJW0208147 小时前
【Linux】系统引导修复
linux·运维·服务器