温馨提示×

Jenkins在Ubuntu上的配置技巧

小樊
44
2025-12-30 03:30:57
栏目: 智能运维

Ubuntu 上高效配置 Jenkins 的实用技巧

一 基础安装与环境准备

  • 统一基础环境:安装 OpenJDK 11(Jenkins 2.357+ 要求 Java 11+),建议服务器至少 4GB 内存、10GB 磁盘,并提前安装 Git、curl、wget 等常用工具。
  • 导入官方仓库(新版推荐 signed-by 方式):
    sudo mkdir -p /usr/share/keyrings
    curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.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 enable --now jenkins
  • 首次访问与解锁:浏览器打开 http://:8080,初始密码在 /var/lib/jenkins/secrets/initialAdminPassword;建议首次选择安装推荐插件。

二 端口、路径与 JVM 的稳妥调优

  • 修改默认端口:编辑 /etc/default/jenkins,将 HTTP_PORT=8080 改为如 8081,保存后执行:sudo systemctl restart jenkins。
  • 调整工作目录:在 /etc/default/jenkins 中设置 JENKINS_HOME=/data/jenkins(提前创建目录并迁移数据),重启生效。
  • 配置 JVM 参数:在 /etc/default/jenkins 设置 JENKINS_JAVA_OPTIONS,如 -Xms1g -Xmx2g -Djava.awt.headless=true,避免频繁 Full GC 并提升稳定性。
  • 防火墙放行:使用 UFW 放行端口(示例为 8080/tcp):sudo ufw allow 8080/tcp && sudo ufw enable。

三 安全加固与访问控制

  • 启用全局安全:进入 Manage Jenkins → Configure Global Security,勾选 Enable security
  • 授权策略:优先选择 Project-based Matrix Authorization StrategyRole-Based Strategy,按用户/项目粒度授权。
  • 安全域与登录:可选 Jenkins 自有用户库、Unix 用户/组、LDAP 等。
  • 防护要点:保持 CSRF 保护 开启;通过 Nginx/Apache 反向代理启用 HTTPS;仅开放必要端口;定期更新 Jenkins 与插件;谨慎选择第三方插件。

四 插件、加速与 Pipeline 实践

  • 插件加速:在 Manage Jenkins → Plugins → Advanced 将更新站点改为国内镜像,例如 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
  • 工具自动安装:在 Global Tool Configuration 勾选 Install automatically,自动部署 JDK、Git、Maven/Gradle、Docker(如可用),减少手工路径错误。
  • 中文界面(可选):安装 Locale pluginLocalization: Chinese (Simplified),在系统配置将 Locale 设为 zh_CN 并重启页面。
  • Pipeline 即代码:在 New Item → Pipeline 选择 Pipeline script from SCM,将 Jenkinsfile 纳入 Git 管理,确保环境一致与可复用。

五 性能优化与日常运维

  • 执行器与并发:在 Manage Jenkins → Configure SystemNumber of executors 设为接近 CPU 核心数,避免资源争用。
  • 构建效率:启用 并行构建;为 Maven/Gradle 配置依赖缓存;减少不必要步骤;必要时使用 分布式构建 扩展执行节点。
  • JVM 与内存:结合机器内存合理设置 -Xms/-Xmx(如 -Xms1g -Xmx2g),避免 OOM 与频繁 GC。
  • 监控与日志:定期查看 /var/log/jenkins/jenkins.log,监控 CPU/内存/磁盘 IO,及时识别瓶颈与异常。

0