Ubuntu Java如何进行持续集成
导读:Ubuntu Java 持续集成实操指南 一 环境准备 安装 JDK 11 或 17(Ubuntu 20.04/22.04 推荐 LTS 版本): 安装 OpenJDK 11:sudo apt update && sud...
Ubuntu Java 持续集成实操指南
一 环境准备
- 安装 JDK 11 或 17(Ubuntu 20.04/22.04 推荐 LTS 版本):
- 安装 OpenJDK 11:sudo apt update & & sudo apt install -y openjdk-11-jdk
- 或安装 OpenJDK 17:sudo apt update & & sudo apt install -y openjdk-17-jdk
- 验证:java -version
- 安装 Maven 与 Git:
- sudo apt install -y maven git
- 验证:mvn -v、git --version
- 说明:Jenkins 基于 Java,建议优先选择 JDK 11/17 的稳定版本,以兼顾兼容性与安全性。
二 安装与启动 Jenkins
- 添加 Jenkins 官方仓库并安装:
- wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
- echo “deb http://pkg.jenkins.io/debian-stable binary/” | sudo tee /etc/apt/sources.list.d/jenkins.list
- sudo apt update & & sudo apt install -y jenkins
- 启动与开机自启:
- sudo systemctl start jenkins
- sudo systemctl enable jenkins
- 访问与解锁:
- 浏览器打开:http://< 服务器IP> :8080
- 初始密码:sudo cat /var/lib/jenkins/secrets/initialAdminPassword
- 首次进入建议安装“推荐插件”,并创建管理员账户。
三 创建 Pipeline 任务与 Jenkinsfile
- 在 Jenkins 中新建任务:选择 Pipeline,在“Pipeline”配置里选择“Pipeline script from SCM”,SCM 选 Git,填写仓库 URL 与凭据,指定 Jenkinsfile 路径(如根目录)。
- 项目根目录添加 Jenkinsfile(示例为 Maven 项目):
pipeline { agent any tools { maven 'Maven' // 需在 Global Tool Configuration 中配置 Maven 名称 jdk 'JDK11' // 需在 Global Tool Configuration 中配置 JDK 名称 } stages { stage('Checkout') { steps { git url: 'https://github.com/your-org/your-java-app.git', branch: 'main' } } stage('Build') { steps { sh 'mvn -B -DskipTests clean package' } } stage('Test') { steps { sh 'mvn test' } } stage('Archive') { steps { archiveArtifacts artifacts: 'target/*.jar', fingerprint: true } } } post { always { junit 'target/surefire-reports/*.xml' cleanWs() } success { echo 'Build and tests passed.' } failure { echo 'Build or tests failed.' } } } - 要点:
- 在 Jenkins 管理界面配置 Global Tool Configuration(JDK、Maven、Git 路径/自动安装)。
- 通过“构建后操作”发布 JUnit 报告,便于在界面查看测试结果趋势。
四 触发方式与通知
- 自动触发构建:
- 在 GitHub 仓库 “Settings → Webhooks” 添加 Webhook:
- Payload URL:http://:8080/github-webhook/
- Content type:application/json
- Events:Just the push event
- 在 Jenkins 任务中勾选 “GitHub hook trigger for GITScm polling” 以接收推送事件。
- 在 GitHub 仓库 “Settings → Webhooks” 添加 Webhook:
- 可选通知:
- 安装 Locale 等常用插件改善使用体验。
- 结合邮件或企业微信/钉钉机器人,在构建成功/失败时发送通知(需相应插件与 webhook 配置)。
五 常见问题与优化
- Java 版本与兼容性:
- 部分旧版本 Jenkins 2.361.x 与 JDK 8 存在兼容性问题,生产环境建议使用 JDK 11/17 并匹配相应 Jenkins 版本。
- 端口与权限:
- 默认端口 8080 冲突时,可编辑 /lib/systemd/system/jenkins.service 调整端口,执行 systemctl daemon-reload 后重启;必要时配置 JENKINS_HOME、运行用户与权限。
- 构建环境一致性:
- 使用 Jenkins 的 agent 与“工具自动安装”,减少“本地能跑、CI 失败”的环境差异;必要时采用 Docker 镜像作为构建代理,固化依赖版本。
- 日志与排错:
- 查看 Jenkins 启动与运行日志:/var/log/jenkins/jenkins.log,定位插件、权限、网络等问题。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Java如何进行持续集成
本文地址: https://pptw.com/jishu/764066.html
