发布于2026-07-15 阅读(0)
扫一扫,手机访问
说实话,要让 Jenkins 在 Ubuntu 上真正“跑起来”,关键不在于安装本身,而在于它能和哪些工具“配合工作”。从代码提交到最终上线,这一整套流程能不能自动跑通,才是衡量 Jenkins 集成能力的核心指标。下面这份清单和配置思路,基本覆盖了日常开发中最常用的场景。

先把基础环境搭好。这里省掉一些花哨的讲解,直接上干货。
第一步,装 Ja va 11,这是 Jenkins 运行的前提:
sudo apt update && sudo apt install openjdk-11-jdk -y
第二步,通过官方仓库安装 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 jenkins -y
sudo systemctl start jenkins && sudo systemctl enable jenkins
服务启动后,打开浏览器,输入 http://<服务器IP>:8080,按照向导完成解锁。初始密码在 /var/lib/jenkins/secrets/initialAdminPassword。
接着做几项基础配置:
下面这张表,把最常见的工具、用途、关键插件和配置要点都列了出来。每一个场景都经过实战检验,可以按需取用。
| 工具 | 主要用途 | 关键插件 | 配置要点 |
|---|---|---|---|
| Git / GitHub / GitLab | 拉取源码、触发构建 | Git plugin | 在“源码管理”选择 Git,配置仓库 URL 与凭据;GitHub 可用 Webhook 触发构建 |
| Ma ven / Gradle / NodeJS | 构建与依赖管理 | Ma ven Integration、NodeJS | 在“全局工具配置”设置安装路径/自动安装;在任务中使用对应构建命令 |
| Docker | 构建与运行容器、环境一致性 | Docker Pipeline、Docker plugin | 安装 Docker;将 jenkins 用户加入 docker 组并重启 Jenkins;在 Pipeline 中使用 agent { docker ‘image’ } |
| 测试框架(如 pytest) | 单元/集成测试 | JUnit 插件 | 构建步骤执行测试并输出 JUnit XML;添加“Publish JUnit test result report”步骤展示报告 |
| TestRail | 测试结果管理 | TestRail 插件 | 在“系统配置”设置 TestRail URL/认证;在任务“构建后操作”发布测试结果 |
| Ansible / SSH | 远程主机配置与部署 | SSH Pipeline Steps | 在“凭证”中添加 SSH 私钥;在 Pipeline 使用 sshCommand/sshPut 等步骤 |
| Docker Hub / 镜像仓库 | 镜像推送与拉取 | Docker Pipeline | 在“凭证”中添加 Docker Hub 账号;使用 docker.withRegistry 推送镜像 |
| Gerrit | 代码评审与门禁 | Gerrit 相关插件 | 结合 Gerrit Trigger 实现提交后自动构建与评审门禁(可选) |
| 以上插件与配置项覆盖了 Ubuntu 上最常见的集成场景,可按需增减。 |
示例一:集成 pytest 并发布测试报告
这个场景很常见——先让 pytest 跑起来,然后把结果展示到 Jenkins 上。
pip install pytestpytest --junit-xml=test-results.xmltest-results.xml跑一次构建,你就能在 Jenkins 的构建页面看到测试趋势和失败详情了。对于团队来说,这比手动翻日志高效得多。
示例二:集成 Docker 构建镜像并推送到 Docker Hub
容器化部署几乎是标配。这个示例展示了一条完整的链路:从拉取代码到构建镜像,再到推送到仓库。
sudo usermod -aG docker jenkins && sudo systemctl restart jenkinsdockerhub-credential-id)pipeline {
agent any
environment {
DOCKER_IMAGE = "your-dockerhub-username/your-app:${BUILD_NUMBER}"
}
stages {
stage('Checkout') {
steps {
git branch: 'main', url: 'https://github.com/your/repo.git'
}
}
stage('Build') {
steps {
script {
dockerImage = docker.build(env.DOCKER_IMAGE)
}
}
}
stage('Push') {
steps {
script {
docker.withRegistry('https://registry.hub.docker.com', 'dockerhub-credential-id') {
dockerImage.push()
}
}
}
}
}
}
这个流程跑通后,后续扩展部署阶段就水到渠成了。
最后分享几个实战中沉淀下来的经验,能帮你少踩不少坑。
/var/run/docker.sock,或者把 jenkins 用户加入 docker 组,这样容器内才能调用宿主机的 Docker 守护进程。权限和安全性要仔细考虑。以上这些,基本覆盖了 Ubuntu 上 Jenkins 与主流工具集成的全貌。每一步都经过反复验证,可以直接在项目里落地。按需取用即可。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8