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/jenkins

mv jenkins.war /var/lib/jenkins/

4、配置systemctl启动

复制代码
sudo vi /etc/systemd/system/jenkins.service

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

bash 复制代码
[Unit]
Description=Jenkins CI Server
After=network.target

[Service]
Type=simple
User=root
Group=root

Environment=JAVA_HOME=/usr/local/java/jdk17
Environment=JENKINS_HOME=/var/lib/jenkins

ExecStart=/usr/local/java/jdk17/bin/java -jar /usr/local/jenkins/jenkins.war \
  --httpListenAddress=0.0.0.0 --httpPort=8080

StandardOutput=append:/var/log/jenkins/jenkins.log
StandardError=append:/var/log/jenkins/jenkins.log

Restart=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、控制命令

bash 复制代码
# 修改配置就执行一次
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、防火墙

bash 复制代码
# 查看防火墙状态
sudo ufw status

# 放开8080端口
sudo ufw allow 8080

# 查看规则是否添加
sudo ufw status verbose

3.2、apt安装

1、安装流程

bash 复制代码
# 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、配置文件

bash 复制代码
/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

    bash 复制代码
    tar czvf jenkins-plugins-backup.tar.gz /var/lib/jenkins/plugins/

2、恢复插件

  • 解压缩
    *

    bash 复制代码
    tar -xzvf jenkins-plugins-backup.tar.gz
    # 目录:/home/lhz/var/lib/jenkins/plugins
  • 恢复的过程
    *

    bash 复制代码
    # 停止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