Jenkins 安装与配置 #

本节将详细介绍Jenkins在各种环境下的安装方法和初始化配置,帮助你快速搭建Jenkins环境。

系统要求 #

硬件要求 #

资源 最低要求 推荐配置
CPU 1核 2核+
内存 256MB 2GB+
磁盘 1GB 10GB+

软件要求 #

软件 版本要求
Java JDK 11 或 JDK 17
操作系统 Linux/Windows/macOS

安装方式对比 #

方式 优点 缺点 适用场景
包管理器 简单快速 版本可能滞后 开发测试
Docker 隔离环境、易管理 需要Docker知识 生产环境
WAR包 灵活、版本可选 需手动配置 特定需求
Kubernetes 高可用、可扩展 配置复杂 大规模生产

方式一:Docker安装(推荐) #

1. 拉取镜像 #

bash
docker pull jenkins/jenkins:lts

2. 创建数据卷 #

bash
docker volume create jenkins_home

3. 启动容器 #

bash
docker run -d \
  --name jenkins \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins_home:/var/jenkins_home \
  jenkins/jenkins:lts

4. 使用Docker Compose #

创建 docker-compose.yml 文件:

yaml
version: '3.8'

services:
  jenkins:
    image: jenkins/jenkins:lts
    container_name: jenkins
    privileged: true
    user: root
    ports:
      - "8080:8080"
      - "50000:50000"
    volumes:
      - jenkins_home:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - JENKINS_OPTS=--prefix=/jenkins
    restart: unless-stopped

volumes:
  jenkins_home:

启动服务:

bash
docker-compose up -d

方式二:Linux安装 #

Ubuntu/Debian #

bash
sudo apt update

sudo apt install -y openjdk-11-jdk

curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null

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

sudo apt update

sudo apt install -y jenkins

sudo systemctl start jenkins
sudo systemctl enable jenkins

CentOS/RHEL #

bash
sudo yum install -y java-11-openjdk

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key

sudo yum install -y jenkins

sudo systemctl start jenkins
sudo systemctl enable jenkins

防火墙配置 #

bash
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

方式三:Windows安装 #

1. 安装Java #

下载并安装JDK 11: https://adoptium.net/

2. 下载Jenkins #

下载Windows安装包: https://www.jenkins.io/download/

3. 运行安装程序 #

双击安装包,按向导完成安装。

4. 服务管理 #

powershell
net start jenkins
net stop jenkins

方式四:macOS安装 #

使用Homebrew #

bash
brew install openjdk@11

brew install jenkins-lts

brew services start jenkins-lts

方式五:WAR包安装 #

1. 下载WAR包 #

bash
wget https://get.jenkins.io/war-stable/latest/jenkins.war

2. 启动Jenkins #

bash
java -jar jenkins.war --httpPort=8080

3. 后台运行 #

bash
nohup java -jar jenkins.war --httpPort=8080 > jenkins.log 2>&1 &

初始化配置 #

1. 访问Jenkins #

打开浏览器访问:http://localhost:8080

2. 解锁Jenkins #

获取初始管理员密码:

Docker方式:

bash
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

Linux方式:

bash
sudo cat /var/lib/jenkins/secrets/initialAdminPassword

Windows方式:

text
C:\Program Files\Jenkins\secrets\initialAdminPassword

3. 安装插件 #

选择 Install suggested plugins 安装推荐插件。

4. 创建管理员账户 #

设置管理员用户名、密码和邮箱。

5. 配置Jenkins URL #

设置Jenkins的访问URL,默认为 http://localhost:8080/

基本配置 #

全局工具配置 #

进入 Manage Jenkins → Global Tool Configuration

JDK配置 #

text
Name: JDK 11
JAVA_HOME: /usr/lib/jvm/java-11-openjdk

Maven配置 #

text
Name: Maven 3.8
MAVEN_HOME: /opt/maven

Git配置 #

text
Name: Default
Path to Git executable: /usr/bin/git

系统配置 #

进入 Manage Jenkins → System

执行器数量 #

text
# of executors: 2

工作空间根目录 #

text
${JENKINS_HOME}/workspace/${ITEM_FULL_NAME}

构建记录根目录 #

text
${ITEM_ROOT_DIR}/builds

安全配置 #

启用安全 #

进入 Manage Jenkins → Security

text
Security Realm: Jenkins' own user database
Authorization: Logged-in users can do anything

CSRF保护 #

text
Enable CSRF Protection: ✓

禁用CLI #

text
Enable CLI over Remoting: ✗

反向代理配置 #

Nginx配置 #

nginx
upstream jenkins {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name jenkins.example.com;

    location / {
        proxy_pass http://jenkins;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Apache配置 #

apache
<VirtualHost *:80>
    ServerName jenkins.example.com
    
    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:8080/
    ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>

配置HTTPS #

生成证书 #

bash
keytool -genkeypair -keyalg RSA -keysize 2048 \
  -alias jenkins -keystore jenkins.jks \
  -validity 365 -storepass changeit

启用HTTPS #

bash
java -jar jenkins.war \
  --httpPort=-1 \
  --httpsPort=8443 \
  --httpsKeyStore=/path/to/jenkins.jks \
  --httpsKeyStorePassword=changeit

常见问题排查 #

1. 端口被占用 #

bash
netstat -tlnp | grep 8080

2. 权限问题 #

bash
sudo chown -R jenkins:jenkins /var/lib/jenkins

3. 内存不足 #

调整JVM参数:

bash
java -Xmx2g -jar jenkins.war

4. 插件安装失败 #

bash
rm -rf /var/lib/jenkins/plugins/*.jpi
rm -rf /var/lib/jenkins/plugins/*.jpi.pinned

升级Jenkins #

1. 备份数据 #

bash
cp -r /var/lib/jenkins /var/lib/jenkins.backup

2. 下载新版本 #

bash
wget https://get.jenkins.io/war-stable/latest/jenkins.war

3. 替换WAR包 #

bash
sudo systemctl stop jenkins
sudo cp jenkins.war /usr/share/java/jenkins.war
sudo systemctl start jenkins

下一步学习 #

小结 #

  • Docker安装是最推荐的方式
  • 需要Java运行环境(JDK 11或17)
  • 初始化需要解锁并安装插件
  • 建议配置反向代理和HTTPS
  • 定期备份JENKINS_HOME目录
最后更新:2026-03-28