Jenkins在Linux上怎样配置持续集成
导读:在 Linux 上配置 Jenkins 持续集成 一 环境准备与安装 安装 Java:Jenkins 2.357+ 要求 Java 11+,建议安装 OpenJDK 11。示例:Ubuntu/Debian 执行 sudo apt inst...
在 Linux 上配置 Jenkins 持续集成
一 环境准备与安装
- 安装 Java:Jenkins 2.357+ 要求 Java 11+,建议安装 OpenJDK 11。示例:Ubuntu/Debian 执行 sudo apt install openjdk-11-jdk;CentOS/RHEL 执行 sudo yum install java-11-openjdk-devel。验证:java -version。
- 添加 Jenkins 仓库并安装:
- Debian/Ubuntu:
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c ‘echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list’
sudo apt update & & sudo apt install jenkins - CentOS/RHEL:
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.key
sudo yum install jenkins
- Debian/Ubuntu:
- 启动与开机自启:sudo systemctl start jenkins & & sudo systemctl enable jenkins。
- 防火墙放行:
- Ubuntu/Debian:sudo ufw allow 8080
- CentOS/RHEL:sudo firewall-cmd --permanent --add-port=8080/tcp & & sudo firewall-cmd --reload
- 访问初始化页面:打开浏览器访问 http://< 服务器IP> :8080,获取初始管理员密码:sudo cat /var/lib/jenkins/secrets/initialAdminPassword,完成解锁、安装推荐插件与创建管理员。
二 全局工具与系统配置
- 全局工具配置(Manage Jenkins → Global Tool Configuration):安装并配置 JDK 11、Maven、Git(建议使用自动安装或系统已装版本,便于多版本管理)。
- 系统配置(Manage Jenkins → Configure System):设置 Jenkins URL、管理员邮箱、Maven 全局 settings.xml、邮件通知(SMTP) 等。
- 常用插件:安装 Git plugin、Maven Integration plugin、Pipeline、Email Extension、Publish Over SSH(如需远程部署)等,避免安装过多无用插件以减少兼容与性能问题。
三 创建任务与流水线示例
- Freestyle 项目(适合简单构建/测试/归档):
- 源码管理:选择 Git,填写仓库 URL 与凭证。
- 构建触发器:选择 轮询 SCM(如 H/5 * * * * 每5分钟检查一次)或配置 Webhook(见下一节)。
- 构建步骤:Invoke top-level Maven targets,命令如 clean package。
- 构建后操作:Archive the artifacts(如 target/*.jar)、Publish JUnit test result report。
- Pipeline 项目(推荐,可版本化管理流程):在代码根目录放置 Jenkinsfile,示例:
pipeline {
agent any
stages {
stage(‘Checkout’) { steps { git url: ‘https://github.com/your-org/your-project.git’, branch: ‘main’ } }
stage(‘Build’) { steps { sh ‘mvn clean package -DskipTests’ } }
stage(‘Test’) { steps { sh ‘mvn test’ } }
stage(‘Deploy’) { steps { sh ‘mvn deploy’ } }
}
post {
always { cleanWs() }
success { echo ‘Build succeeded.’ }
failure { echo ‘Build failed.’ }
}
}
在 Jenkins 中新建 Pipeline 任务,选择 “Pipeline script from SCM”,指向上述仓库与 Jenkinsfile。
四 触发方式与通知部署
- 自动触发:
- Webhook:在代码托管平台(如 GitHub/GitLab)配置 Webhook,指向 http://< JENKINS_URL> /github-webhook/(或对应插件端点),实现 push 即构建。
- 轮询 SCM:在“构建触发器”中使用 Poll SCM 定时检查变更(适合无法开放公网 Webhook 的场景)。
- 通知:在“构建后操作”配置 Email Extension,设置 SMTP(如 QQ 邮箱:smtp.qq.com,端口 465/SSL,使用授权码),自定义失败/成功模板与收件人。
- 远程部署(示例):安装 Publish Over SSH,在系统配置中添加目标服务器 SSH 信息,在任务“构建后操作”中传输 WAR/JAR 并执行重启脚本(如 Tomcat 的 stop/start 或 systemd 服务)。
五 安全与运维最佳实践
- 安全加固:启用 基于角色的访问控制(RBAC)、最小权限;Git 使用 SSH 密钥 或 Personal Access Token;限制 代理节点 与 CSRF 保护;对外仅暴露必要端口。
- 性能与磁盘:在“系统管理 → 系统配置 → 高级”调整 工作空间/构建记录根目录 到大磁盘;在任务中配置 丢弃旧构建(保留天数/最大个数);必要时调大 JVM 堆(如 -Xms/-Xmx),避免 OOM。
- 高可用与扩展:引入 Agent 节点 做分布式构建;按项目/团队划分 节点标签 与 工具版本;定期 备份 $JENKINS_HOME 与升级稳定版。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Jenkins在Linux上怎样配置持续集成
本文地址: https://pptw.com/jishu/770736.html
