1、下载安装
1 war包方式
1 安装opnejdk 21
jdk-21_linux-x64_bin.tar.gz Java Platform, Standard Edition 21 参考 实现
解压
tar -xvf test3.tar.gz -C ./ #将文件解压到 aaa目录,需要注意文件夹先必须存在
先安装openjdk:配置环境变量:
export JAVA_HOME=/software/jdk-21.0.3
export PATH=$PATH:$JAVA_HOME/bin
2 直接下载 war 包,下载地址:Jenkins
3 启动然后上传到 Jenkins 服务器,然后使用如下指令直接运行 war 包即可:
# 默认是8080端口
java -jar jenkins.war
# 如果要修改端口,可以使用--httpPort参数
java -jar jenkins.war --httpPort=8081
# 上面的命令是在前台运行 jenkins,ctrl + c 后就停止运行了。
# 在后台运行jenkins,日志输出到jenkins.log
nohup java -jar jenkins.war --httpPort=8081 > jenkins.log 2>&1 &
4 编写成脚本也行:
#!/bin/bash
#!/bin/bash
# jar包的名字
fileName=jenkins.war
# 这里是获取正在运行的程序的PID,通过PID来杀掉之前运行的程序
PID=$(ps -ef | grep $fileName | grep -v grep | awk '{ print $2 }')
# 如果PID不为空
if [ -n "${PID}" ];
then
# 杀掉程序
kill -9 $PID
echo 'Application is stopping...'
else
echo 'Application is not running'
fi
# 运行jar包
nohup java -jar jenkins.war --httpPort=8081 > jenkins.log 2>&1 &
# 创建备份目录(如果需要)
#mkdir -p "./packages/"
# 备份jar包
#backupTimestamp=$(date +%Y%m%d%H%M)
#cp $fileName ./packages/$backupTimestamp-$fileName
#echo "backup jar success!"
2 docker方式:
启动脚本:
#!/bin/bash
docker rm -f jenkins
docker run \
-u root \
--net=host \
--name jenkins --privileged \
-d \
-p 8080:8080 \
-p 50000:50000 \
-v /docker/jenkins/jenkins-data:/var/jenkins_home \
-v /etc/localtime:/etc/localtime \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkins/jenkins
命令解释
docker run: 运行一个新的容器。
-d: 后台运行容器 (detached mode)。
-p 18080:8080: 将宿主机的 18080 端口映射到容器的 8080 端口,这是 Jenkins 的 Web 界面默认端口。
-p 50000:50000: 将宿主机的 50000 端口映射到容器的 50000 端口,这是 Jenkins 用于与代理通信的端口。
-v /data/jenkins/jenkins_data:/var/jenkins_home: 将宿主机的 /data/jenkins/jenkins_data 目录挂载到容器的 /var/jenkins_home 目录,这是 Jenkins 的主目录,用于存储 Jenkins 配置、构建作业和插件等数据。
-v /etc/localtime:/etc/localtime: 将宿主机的 /etc/localtime 文件挂载到容器的 /etc/localtime,确保容器内的时间与宿主机同步。
-v /usr/bin/docker:/usr/bin/docker: 将宿主机的 Docker 二进制文件挂载到容器的 /usr/bin/docker,使容器内能够使用 Docker 命令。
-v /var/run/docker.sock:/var/run/docker.sock: 将宿主机的 Docker 进程套接字挂载到容器的 /var/run/docker.sock,使容器内的 Docker 客户端能够与宿主机的 Docker 守护进程通信。这对于 Jenkins 在容器内执行 Docker 命令是必要的。
--restart=on-failure: 配置容器在出现错误退出时自动重启。仅在容器以非零退出状态终止时才重启。
-u 0: 以 root 用户(UID 0)身份运行容器。这通常是为了确保容器内的 Jenkins 有足够的权限执行需要的操作。
--name jenkins: 为容器指定一个名称 jenkins,方便管理和引用该容器。
jenkins/jenkins: 使用 Jenkins 官方的 Docker 镜像。这是从 Docker Hub 拉取的 jenkins/jenkins 镜像的默认最新版本。
启动后安装完插件后,配置管理员账户密码,需要重启
2 访问 ip:8080
输入账户密码执行登录