欢迎光临
我们一直在努力

jenkins的安装—windows环境

Jenkins 2.5 Windows生产环境部署指南

一、系统环境要求

1.1 硬件要求

  • CPU: 4核心以上(推荐8核心)
  • 内存: 8GB以上(推荐16GB+)
  • 磁盘空间: 50GB以上可用空间(推荐100GB+)
    • Jenkins安装: 1GB
    • 构建工作空间: 10GB+
    • 构建历史和日志: 20GB+
    • 插件和缓存: 5GB+
  • 网络: 稳定的网络连接

1.2 软件要求

  • 操作系统: Windows Server 2016/2019/2022 或 Windows 10/11
  • Java环境:
    • JDK 17 、21、25
    • 设置JAVA_HOME环境变量
  • 浏览器: Chrome、Firefox或Edge(用于访问Jenkins Web界面)

1.3 权限要求

  • 管理员权限(用于安装Windows服务)
  • 网络配置权限(防火墙、端口)

二、部署前准备

2.1 系统检查清单

  • 确认Windows版本和补丁级别
  • 检查Java版本并配置JAVA_HOME
  • 确认磁盘空间充足
  • 检查网络连接和DNS解析
  • 确认防火墙配置(端口8080)
  • 准备管理员账户

2.2 网络规划

  • Jenkins主端口: 8080(可自定义)
  • JNLP端口: 50000(用于Agent连接)
  • HTTPS端口: 443(如需SSL)
  • 域名: 准备Jenkins访问域名(可选)

三、Jenkins 2.5 安装步骤

3.1 下载Jenkins

  • 访问Jenkins官方下载页面:

    https://www.jenkins.io/download/

  • 下载Windows稳定版安装包:

    • 选择LTS(长期支持)版本
    • 下载文件:jenkins-2.5.x.msi 或 jenkins.war
  • 验证下载文件完整性(可选):

    # 计算文件哈希值
    certutil hashfile jenkins.msi SHA256

  • 3.2 安装Jenkins(MSI安装包方式)

    方式一:使用MSI安装包
  • 右键点击下载的MSI文件,选择"以管理员身份运行"

  • 在安装向导中:

    • 安装路径: 默认 C:\\Program Files\\Jenkins
    • 数据目录: 默认 C:\\ProgramData\\Jenkins
    • 端口: 默认8080(可根据需要修改)
    • 服务名称: 默认Jenkins
  • 安装完成后,Jenkins会自动作为Windows服务启动

  • 验证服务状态:

    Get-Service Jenkins

  • 方式二:使用WAR文件(推荐)
  • 创建Jenkins目录:

    New-Item Path "C:\\Jenkins" ItemType Directory Force

  • 将WAR文件复制到Jenkins目录

  • 创建启动脚本 start-jenkins.bat:

    @echo off
    set JENKINS_HOME=C:\\Jenkins\\home
    java -jar jenkins.war –httpPort=8080

  • 运行启动脚本

  • 3.3 初始配置

    3.3.1 获取管理员密码
  • 打开日志文件:

    C:\\ProgramData\\Jenkins\\logs\\jenkins.log

  • 查找初始管理员密码:

    请使用以下密码安装:
    *************************************************************
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    *************************************************************

  • 或直接读取密码文件:

    Get-Content "C:\\ProgramData\\Jenkins\\secrets\\initialAdminPassword"

  • 3.3.2 访问Web界面
  • 打开浏览器访问:

    http://localhost:8080

  • 输入初始管理员密码

  • 3.3.3 安装推荐插件
    • 选择"安装推荐的插件"
    • 等待插件安装完成(约10-20分钟)
    • 插件安装可能存在的问题,主要是jenkins版本较新,插件版本较旧导致安装失败,或者是网络问题导致插件下载超时。可以直接去https://mirrors.huaweicloud.com/jenkins/plugins/网站上下载对应的插件,然后手动添加到jenkins中去。
    3.3.4 创建管理员账户
    • 用户名:admin(或自定义)
    • 密码:设置强密码
    • 全名:管理员姓名
    • 邮箱:管理员邮箱
    3.3.5 配置实例地址
    • Jenkins URL: http://your-server:8080 或 http://jenkins.yourdomain.com

    四、生产环境优化配置

    4.1 JVM参数优化

    4.1.1 修改Jenkins服务配置
  • 打开服务管理器:

    services.msc

  • 找到Jenkins服务,右键"属性"

  • 在"可执行路径"中添加JVM参数:

    "C:\\Program Files\\Java\\jdk1.8.0_xxx\\bin\\java.exe" -Xrs -Xmx4096m -Xms2048m -XX:MaxPermSize=512m -Dhudson.slaves.NodeProvisioner.MARGIN=50 -Dhudson.slaves.NodeProvisioner.MARGIN0=0.85 -Djenkins.install.runSetupWizard=false -jar "C:\\Program Files\\Jenkins\\jenkins.war" –httpPort=8080 –webroot="%LocalAppData%\\Jenkins\\war"

  • 4.1.2 推荐JVM参数

    # 堆内存设置
    Xms2048m # 初始堆大小2GB
    Xmx4096m # 最大堆大小4GB(根据实际内存调整)

    # 永久代设置
    XX:MaxPermSize=512m # 最大永久代512MB
    XX:PermSize=256m # 初始永久代256MB

    # 垃圾回收优化
    XX:+UseG1GC # 使用G1垃圾收集器
    XX:MaxGCPauseMillis=200
    XX:ParallelGCThreads=4

    # 性能优化
    Xrs # 减少信号处理
    Djava.awt.headless=true

    # Jenkins特定参数
    Dhudson.slaves.NodeProvisioner.MARGIN=50
    Dhudson.slaves.NodeProvisioner.MARGIN0=0.85
    Djenkins.model.Jenkins.slaveAgentPort=50000

    4.2 执行器配置

  • 登录Jenkins Web界面
  • 进入"Manage Jenkins" → “Manage Nodes”
  • 配置主节点执行器数量:
    • 小型环境:2-4个执行器
    • 中型环境:4-8个执行器
    • 大型环境:8+个执行器
  • 4.3 系统属性配置

  • 进入"Manage Jenkins" → “Configure System”
  • 关键配置项:
    • 执行器数量: 根据CPU核心数设置
    • 构建队列: 保持默认
    • SCM checkout retry count: 3
    • 工作空间根目录: C:\\Jenkins\\workspace
    • 构建记录根目录: C:\\Jenkins\\jobs
  • 4.4 安全配置

    4.4.1 启用安全
  • 进入"Manage Jenkins" → “Configure Global Security”
  • 启用安全矩阵或基于角色的授权
  • 4.4.2 配置访问控制
    • 安全域: Jenkins专有用户数据库
    • 授权策略:
      • 矩阵授权策略(推荐)
      • 或基于角色的授权策略
    4.4.3 CSRF保护
    • 启用"防止跨站点请求伪造"
    4.4.4 代理配置
    • 如需通过代理访问外网,配置代理服务器

    五、插件管理

    5.1 必装插件清单

    • Git Plugin: Git版本控制支持
    • Subversion Plugin: SVN版本控制支持
    • Maven Integration: Maven构建支持
    • Pipeline: 流水线支持
    • Blue Ocean: 现代化UI界面
    • Docker Plugin: Docker集成
    • Kubernetes Plugin: Kubernetes集成
    • Credentials Binding: 凭据管理
    • SSH Agent: SSH支持
    • Email Extension: 邮件通知
    • Timestamper: 构建日志时间戳
    • Workspace Cleanup: 工作空间清理
    • Build Timeout: 构建超时控制

    5.2 插件安装方法

  • 进入"Manage Jenkins" → “Manage Plugins”
  • 在"Available"标签页搜索插件
  • 勾选需要安装的插件
  • 点击"Install without restart"或"Download now and install after restart"
  • 5.3 插件更新策略

    • 定期检查插件更新
    • 在测试环境验证后再更新生产环境
    • 关注插件安全公告

    六、备份策略

    6.1 备份内容

    • Jenkins主目录: C:\\ProgramData\\Jenkins
    • 关键文件:
      • config.xml: 主配置文件
      • jobs/: 所有任务配置
      • users/: 用户信息
      • secrets/: 敏感信息
      • plugins/: 已安装插件
      • credentials.xml: 凭据信息

    6.2 备份脚本

    创建备份脚本 backup-jenkins.ps1:

    # Jenkins备份脚本
    $JENKINS_HOME = "C:\\ProgramData\\Jenkins"
    $BACKUP_DIR = "D:\\JenkinsBackups"
    $DATE = Get-Date Format "yyyyMMdd_HHmmss"
    $BACKUP_FILE = "$BACKUP_DIR\\jenkins_backup_$DATE.zip"

    # 创建备份目录
    New-Item Path $BACKUP_DIR ItemType Directory Force | Out-Null

    # 停止Jenkins服务
    Stop-Service Jenkins Force

    # 创建压缩备份
    Compress-Archive Path $JENKINS_HOME DestinationPath $BACKUP_FILE

    # 启动Jenkins服务
    Start-Service Jenkins

    # 清理30天前的备份
    Get-ChildItem $BACKUP_DIR Filter "jenkins_backup_*.zip" |
    Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(30) } |
    Remove-Item Force

    Write-Host "备份完成: $BACKUP_FILE"

    6.3 自动化备份

  • 创建Windows计划任务:

    • 程序:powershell.exe
    • 参数:-ExecutionPolicy Bypass -File "D:\\Scripts\\backup-jenkins.ps1"
    • 触发器:每天凌晨2点执行
  • 验证备份任务正常运行

  • 6.4 恢复流程

  • 停止Jenkins服务
  • 解压备份文件到Jenkins主目录
  • 启动Jenkins服务
  • 验证配置和任务
  • 七、监控和日志管理

    7.1 系统监控

    7.1.1 关键监控指标
    • JVM内存使用: 堆内存、非堆内存
    • 线程池状态: 活跃线程数、队列长度
    • 构建队列: 待处理构建数量
    • 执行器状态: 忙碌/空闲执行器
    • 磁盘空间: Jenkins主目录、工作空间
    • 系统资源: CPU、内存、网络
    7.1.2 监控工具
    • Jenkins内置监控:

      • “Manage Jenkins” → “System Information”
      • “Manage Jenkins” → “Metrics”(需安装Metrics Plugin)
    • 外部监控:

      • Prometheus + Grafana
      • Zabbix
      • Nagios

    7.2 日志管理

    7.2.1 日志位置
    • 主日志: C:\\ProgramData\\Jenkins\\logs\\jenkins.log
    • 访问日志: C:\\ProgramData\\Jenkins\\logs\\access.log
    • 构建日志: 各任务的构建输出
    7.2.2 日志轮转配置

    修改 jenkins.xml 配置文件:

    <service>
    <id>jenkins</id>
    <name>Jenkins</name>
    <description>This service runs Jenkins.</description>
    <executable>%BASE%\\jre\\bin\\java</executable>
    <arguments>-Xrs -Xmx4096m -Xms2048m -Dhudson.slaves.NodeProvisioner.MARGIN=50 -Dhudson.slaves.NodeProvisioner.MARGIN0=0.85 -Djenkins.install.runSetupWizard=false -jar "%BASE%\\jenkins.war" –httpPort=8080 –webroot="%LocalAppData%\\Jenkins\\war"</arguments>
    <log mode="roll-by-size">
    <sizeThreshold>10240</sizeThreshold>
    <keepFiles>8</keepFiles>
    </log>
    </service>

    7.2.3 日志分析
    • 定期检查错误日志
    • 分析构建失败原因
    • 监控异常访问

    八、性能优化

    8.1 构建性能优化

  • 并行构建: 配置多个执行器
  • 构建缓存: 使用工作空间缓存
  • 增量构建: 避免全量构建
  • 资源限制: 限制构建资源使用
  • 8.2 系统性能优化

  • 磁盘I/O: 使用SSD存储
  • 网络优化: 配置本地Maven仓库
  • 数据库优化: 使用外部数据库(如MySQL)
  • 8.3 插件优化

  • 禁用不必要的插件
  • 定期清理插件缓存
  • 优化插件配置
  • 九、安全加固

    9.1 网络安全

  • 防火墙配置:

    # 允许Jenkins端口
    New-NetFirewallRule DisplayName "Jenkins HTTP" Direction Inbound Protocol TCP LocalPort 8080 Action Allow
    New-NetFirewallRule DisplayName "Jenkins JNLP" Direction Inbound Protocol TCP LocalPort 50000 Action Allow

  • SSL/TLS配置:

    • 安装SSL证书
    • 配置HTTPS访问
    • 禁用弱加密算法
  • 9.2 访问控制

  • 用户管理:

    • 创建最小权限用户
    • 定期审计用户权限
    • 禁用未使用的账户
  • 权限控制:

    • 使用矩阵授权
    • 细粒度权限分配
    • 定期权限审查
  • 9.3 凭据管理

  • 凭据存储:

    • 使用Jenkins凭据存储
    • 加密敏感信息
    • 定期轮换密码
  • 凭据使用:

    • 最小权限原则
    • 避免硬编码凭据
    • 使用凭据绑定
  • 十、故障排查

    10.1 常见问题

    10.1.1 Jenkins无法启动
    • 检查Java版本兼容性
    • 查看日志文件错误信息
    • 检查端口占用情况
    • 验证JVM参数配置
    10.1.2 构建失败
    • 检查构建日志
    • 验证工作空间权限
    • 检查依赖工具配置
    • 确认网络连接
    10.1.3 性能问题
    • 监控系统资源使用
    • 检查JVM内存配置
    • 分析构建队列
    • 优化插件配置

    10.2 日志分析

    # 查看最新错误日志
    Get-Content "C:\\ProgramData\\Jenkins\\logs\\jenkins.log" Tail 100 | Select-String "ERROR|WARN"

    # 查看服务状态
    Get-Service Jenkins | Format-List *

    # 查看端口占用
    netstat ano | findstr :8080

    10.3 应急处理

  • 服务重启:

    Restart-Service Jenkins

  • 强制停止:

    Stop-Service Jenkins Force

  • 清理缓存:

    • 清理工作空间
    • 清理构建历史
    • 清理插件缓存
  • 十一、维护计划

    11.1 日常维护

    • 检查服务运行状态
    • 监控系统资源使用
    • 查看错误日志
    • 验证备份任务

    11.2 周期维护

    • 清理旧构建记录
    • 更新插件版本
    • 审查用户权限
    • 检查磁盘空间

    11.3 月度维护

    • 性能评估
    • 安全扫描
    • 灾难恢复演练
    • 配置审查

    十二、升级策略

    12.1 升级准备

  • 备份当前Jenkins配置
  • 在测试环境验证新版本
  • 通知用户维护窗口
  • 准备回滚方案
  • 12.2 升级步骤

  • 停止Jenkins服务
  • 备份Jenkins主目录
  • 下载新版本WAR文件
  • 替换WAR文件
  • 启动Jenkins服务
  • 验证功能正常
  • 12.3 升级后验证

    • 检查服务状态
    • 验证用户登录
    • 测试构建任务
    • 检查插件兼容性
    • 验证配置完整性

    十三、最佳实践

    13.1 配置管理

    • 使用版本控制管理Jenkinsfile
    • 定期备份配置文件
    • 文档化配置变更
    • 实施配置审查

    13.2 安全实践

    • 定期更新密码
    • 实施最小权限原则
    • 启用审计日志
    • 定期安全扫描

    13.3 性能实践

    • 监控关键指标
    • 定期性能评估
    • 优化构建流程
    • 合理配置资源

    13.4 运维实践

    • 建立监控告警
    • 制定应急预案
    • 定期维护检查
    • 持续改进优化

    附录

    A. 常用命令

    # 服务管理
    Start-Service Jenkins
    Stop-Service Jenkins
    Restart-Service Jenkins
    Get-Service Jenkins

    # 日志查看
    Get-Content "C:\\ProgramData\\Jenkins\\logs\\jenkins.log" Tail 100 Wait

    # 配置备份
    Copy-Item "C:\\ProgramData\\Jenkins\\config.xml" "D:\\Backup\\config.xml"

    # 端口检查
    netstat ano | findstr :8080

    B. 配置文件位置

    • 主配置: C:\\ProgramData\\Jenkins\\config.xml
    • 服务配置: C:\\Program Files\\Jenkins\\jenkins.xml
    • 日志文件: C:\\ProgramData\\Jenkins\\logs\\
    • 工作空间: C:\\ProgramData\\Jenkins\\workspace\\
    • 任务配置: C:\\ProgramData\\Jenkins\\jobs\\

    C. 端口说明

    • 8080: Jenkins Web界面HTTP端口
    • 50000: JNLP代理连接端口
    • 443: HTTPS端口(如配置SSL)

    D. 参考资料

    • Jenkins官方文档: https://www.jenkins.io/doc/
    • Windows安装指南: https://www.jenkins.io/doc/book/installing/windows/
    • 管理员手册: https://www.jenkins.io/doc/book/managing/
    • 安全配置: https://www.jenkins.io/doc/book/security/

    赞(0)
    未经允许不得转载:171主机测评 » jenkins的安装—windows环境
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址