当前位置: 首页 > news >正文

CICD[软件安装]:ubuntu安装jenkins

一、jdk17安装

1.1、直接安装

sudo apt update
sudo apt install openjdk-17-jdk -y#安装后,所在的目录
/usr/lib/jvm/java-17-openjdk-amd64
# 查看java 版本

1.2、离线安装

1、下载

https://jdk.java.net/archive/

2、解压缩

 

# 创建存放 JDK 的目录(如果还没有)
sudo mkdir -p /usr/local/java# 将 JDK 压缩包解压到该目录
sudo tar -xzf openjdk-17.0.0.1+2_linux-x64_bin.tar.gz -C /usr/local/java

 3、重命名目录

cd /usr/local/java
sudo mv jdk-17.0.0.1 jdk17

4、 设置环境变量(Java_HOME、PATH)

sudo vi /etc/profile.d/java.sh# 添加内容
export JAVA_HOME=/usr/local/java/jdk17
export PATH=$JAVA_HOME/bin:$PATH
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

5、加载配置

source /etc/profile.d/java.sh

6、验证

java -version
javac -version

7、java_home和bin目录(jenkins需要用到)

# 家目录
/usr/local/java/jdk17
# java执行
/usr/local/java/jdk17/bin/java

二、安装git

apt-get install -y git

三、安装jenkins

3.1、war包安装(简单+灵活)

1、下载war包

https://www.jenkins.io/download/# 指定版本下载 http://mirrors.jenkins.io/war-stable/2.289.1/jenkins.war

2、创建日志目录

sudo mkdir -p /var/log/jenkins
sudo touch /var/log/jenkins/jenkins.log

3、存放war的位置

sudo mkdir /usr/loacl/jenkins#war放到/usr/loacl/jenkinsmv jenkins.war /var/lib/jenkins/

4、配置systemctl启动

sudo vi /etc/systemd/system/jenkins.service

内容如下:(java_home和bin目录使用)

[Unit]
Description=Jenkins CI Server
After=network.target[Service]
Type=simple
User=root
Group=rootEnvironment=JAVA_HOME=/usr/local/java/jdk17
Environment=JENKINS_HOME=/var/lib/jenkinsExecStart=/usr/local/java/jdk17/bin/java -jar /usr/local/jenkins/jenkins.war \--httpListenAddress=0.0.0.0 --httpPort=8080StandardOutput=append:/var/log/jenkins/jenkins.log
StandardError=append:/var/log/jenkins/jenkins.logRestart=always
RestartSec=10[Install]
WantedBy=multi-user.target

1、User 和 Group:指定运行 Jenkins 的用户和组。你可以根据需要更改,或者创建一个专门的 jenkins 用户。
2、ExecStart:指定启动 Jenkins 的命令。这里使用 Java 运行 jenkins.war 文件。
3、--httpPort=8080:指定 Jenkins 的 HTTP 端口(可以根据需要修改)。
4、Environment:设置环境变量,例如 JAVA_HOME 和 JENKINS_HOME。
5、Restart 和 RestartSec:确保 Jenkins 在意外退出时自动重启。

5、控制命令

# 修改配置就执行一次
sudo systemctl daemon-reload# 配置开机自启动
sudo systemctl enable jenkins# 启动
sudo systemctl start jenkins
# 状态
sudo systemctl status jenkins
# 停止
sudo systemctl stop jenkins

 6、启动后,服务数据目录

  • 会在/var/lib/jenkins目录下
    • 配置
    • 插件文件目录
    • ...

7、防火墙

# 查看防火墙状态
sudo ufw status# 放开8080端口
sudo ufw allow 8080# 查看规则是否添加
sudo ufw status verbose

3.2、apt安装

1、安装流程

# 1. 添加 Jenkins GPG 密钥
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null# 2. 添加 Jenkins 软件源
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null# 3. 更新软件包索引
sudo apt update# 4. 查看可用的版本
apt-cache policy jenkins# 5. 选择版本安装
sudo apt install jenkins=2.504.2  2.492.3# 6. 锁定版本
sudo apt-mark hold jenkins# 7. 启动并启用 Jenkins 服务
sudo systemctl enable jenkins --now
sudo systemctl start jenkins# 查看状态
sudo systemctl status jenkins# 安装位置
Jenkins 主程序被安装在 /var/lib/jenkins/ 目录下。Jenkins 的配置文件默认位于 /etc/default/jenkins。Jenkins 家目录(JENKINS_HOME)默认是 /var/lib/jenkins/。这是Jenkins存储所有数据的地方,包括工作区、构建历史、用户配置等。

2、配置文件

/etc/init.d/jenkins  # 启动目录
/etc/logrotate.d/jenkins # 日志切割
/etc/sysconfig/jenkins  # jenkins主配置文件
/usr/lib/jenkins  # jenkins程序文件jenkins.war,如直接替换新版jenkins.war
/usr/lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/jenkins
/var/lib/jenkins #jenkins主目录,如果要备份jenkins所有数据,直接拷贝这个目录即可
/var/log/jenkins

四、插件备份恢复

1、备份插件

  • 一般情况下:插件保存在。/var/lib/jenkins/plugins/ 目录下

  • 打包压缩成:jenkins-plugins-backup.tar.gz

    tar czvf jenkins-plugins-backup.tar.gz /var/lib/jenkins/plugins/

2、恢复插件

  • 解压缩
    • tar -xzvf jenkins-plugins-backup.tar.gz
      # 目录:/home/lhz/var/lib/jenkins/plugins
  • 恢复的过程
    • # 停止jenkins
      sudo systemctl stop jenkins# 删除旧的插件文件
      rm -rf /var/lib/jenkins/plugins/*# 将新的插件目录复制
      cp -r /home/lhz/var/lib/jenkins/plugins /var/lib/jenkins/# 修改拥有者
      sudo chown -R jenkins:jenkins /var/lib/jenkins/plugins# 启动jenkins
      sudo systemctl start jenkins
      

http://www.lryc.cn/news/581531.html

相关文章:

  • QtConcurrent入门
  • #渗透测试#批量漏洞挖掘#HSC Mailinspector 任意文件读取漏洞(CVE-2024-34470)
  • 2025.7.6总结
  • 智能网盘检测软件,一键识别失效链接
  • ipmitool 使用简介(ipmitool sel list ipmitool sensor list)
  • 【JS逆向基础】数据分析之正则表达式
  • 支持向量机(SVM)在肝脏CT/MRI图像分类(肝癌检测)中的应用及实现
  • 【网络安全基础】第八章---电子邮件安全
  • QueryWrapper 类的作用与示例详解
  • GASVM+PSOSVM+CNN+PSOBPNN+BPNN轴承故障诊断
  • 微信小程序71~80
  • 玄机——第二章日志分析-redis应急响应
  • Python助力地热资源评估,掘金绿色能源新蓝海!
  • GIT: 一个用于视觉与语言的生成式图像到文本转换 Transformer
  • golang的defer
  • JAX study notes[15]
  • 百度文心大模型 4.5 开源深度测评:技术架构、部署实战与生态协同全解析
  • 前端环境nvm/pnpm下载配置
  • 在C#中,可以不实例化一个类而直接调用其静态字段
  • 【Elasticsearch入门到落地】15、DSL排序、分页及高亮
  • 【HarmonyOS】鸿蒙应用开发Text控件常见错误
  • 深入解析Vue中v-model的双向绑定实现原理
  • D3 面试题100道之(61-80)
  • Qt实现外网双向音视频通话/支持嵌入式板子/实时性好延迟低/可以加水印
  • C++基础复习笔记
  • 【网络系列】HTTP 429 状态码
  • Debezium日常分享系列之:认识Debezium Operator
  • Go语言实现双Token登录的思路与实现
  • UNIX程序设计基本概念和术语
  • 玄机——第一章日志分析-mysql应急响应