在腾讯云轻量应用服务器(Lighthouse)上搭建 Jenkins 是一个非常常见的需求,适合个人开发者、小型团队或 CI/CD 入门场景。由于轻量服务器的资源通常有限(如 1-2 核 CPU,1-4GB 内存),我们需要采用精简且高效的部署方案。
以下是在 Linux 环境(推荐 Ubuntu 20.04/22.04 或 CentOS 7/8)下通过 Docker 快速搭建 Jenkins 的完整步骤。相比直接安装 Java,Docker 方式更易于管理依赖和后续升级。
前置准备
-
购买并初始化服务器:
- 在腾讯云控制台购买轻量应用服务器(建议选择 Ubuntu 20.04/22.04 LTS 镜像)。
- 确保已设置好安全组规则,放行 Jenkins 默认端口 8080 以及 SSH 端口 22。
- 获取服务器的公网 IP 地址。
-
登录服务器:
使用终端工具(如 Windows 的 PowerShell/CMD, macOS 的 Terminal, 或 Xshell)通过 SSH 连接:ssh root@<你的服务器公网IP> # 输入密码后登录
第一步:安装 Docker 和 Docker Compose
轻量服务器推荐使用 Docker 容器化部署,这样不占用宿主机的系统资源,且清理方便。
1. 更新系统软件包
apt-get update -y # Ubuntu/Debian
# 如果是 CentOS: yum makecache && yum update -y
2. 安装 Docker
执行官方脚本安装最新稳定版:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
注:--mirror Aliyun 是为了提速国内下载,如果失败可去掉该参数。
3. 启动 Docker 服务并设置开机自启
systemctl enable docker
systemctl start docker
4. 安装 Docker Compose (可选但推荐)
虽然新版 Docker 已内置 compose 功能,但为了兼容性,建议确认版本或手动安装插件:
docker compose version
# 如果提示未找到,可以安装插件:
curl -LO https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)
chmod +x docker-compose-$(uname -s)-$(uname -m)
mv docker-compose-$(uname -s)-$(uname -m) /usr/local/bin/docker-compose
第二步:创建 Jenkins 目录与配置文件
为了避免数据丢失,我们将数据持久化到本地磁盘。
mkdir -p ~/jenkins
cd ~/jenkins
创建 docker-compose.yml 文件:
nano docker-compose.yml
将以下内容复制粘贴进去(注意:Jenkins 默认需要较多内存,请根据服务器配置调整 mem_limit):
version: '3'
services:
jenkins:
image: jenkins/jenkins:lts-jdk17
container_name: jenkins
restart: always
ports:
- "8080:8080" # Web 访问端口
- "50000:50000" # Agent 通信端口
volumes:
- ./jenkins_home:/var/jenkins_home # 数据持久化
- /var/run/docker.sock:/var/run/docker.sock # 允许 Jenkins 调用宿主机 Docker
environment:
- TZ=Asia/Shanghai
- JAVA_OPTS=-Xms512m -Xmx1024m # 限制 JVM 内存,防止 OOM
# 如果你需要更多内存,可以适当调大 -Xmx,但不要超过物理内存的 70%
保存并退出(按 Ctrl+O 回车保存,再按 Ctrl+X 退出)。
第三步:启动 Jenkins
在 ~/jenkins 目录下运行:
docker compose up -d
查看日志确认启动成功:
docker compose logs -f
等待出现类似 Jetty started on port 8080 的字样。
第四步:解锁并初始化 Jenkins
-
获取管理员密码:
当容器完全启动后,再次查看日志(或者执行以下命令):docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword复制输出的那一串长字符。
-
Web 端配置:
- 在浏览器访问:
http://<你的服务器公网IP>:8080 - 输入刚才获取的密码。
- 插件选择:
- 如果服务器网络正常,选择 "Install suggested plugins"(推荐)。
- 如果网络慢导致超时,选择 "Select plugins to install",只勾选最基础的(如 Git, Maven, NodeJS 等按需勾选),后续可在“系统管理”中补装。
- 在浏览器访问:
-
创建管理员账号:
设置用户名、密码、邮箱,点击“保存并完成”。 -
完成:
点击“开始使用 Jenkins",即可进入主界面。
第五步:关键优化(针对轻量服务器)
由于轻量服务器内存较小,Jenkins 默认可能会因为内存不足而崩溃(OOM Kill)。
-
修改内存限制:
编辑docker-compose.yml,调整JAVA_OPTS中的-Xmx值。例如,如果是 2G 内存的机器,建议设置为-Xmx1024m;如果是 4G,可设为-Xmx2048m。environment: - JAVA_OPTS=-Xms512m -Xmx1024m修改后重启容器:
docker compose restart。 -
配置 Docker 权限:
在 Jenkins 的System Management->Plugins中安装 Docker Pipeline 插件。
在System Management->Global Tool Configuration中配置 Docker 路径为/var/run/docker.sock,这样 Jenkins 才能构建包含 Docker 的镜像。 -
换源提速(重要):
如果在安装插件时速度极慢,建议在 Jenkins 中配置国内镜像源,或者在系统层面配置 Docker 镜像提速(阿里云/腾讯云都有免费的镜像提速器配置指南)。
常见问题排查
- 无法访问 8080 端口:
检查腾讯云控制台的安全组规则,确保入方向允许 TCP 协议的 8080 端口。 - Jenkins 频繁重启或卡死:
通常是内存不足。检查docker stats查看内存占用,并在docker-compose.yml中降低JAVA_OPTS的-Xmx值,同时增加 Swap 分区(虚拟内存)作为缓冲。 - 中文乱码:
在docker-compose.yml的environment中添加LANG=en_US.UTF-8或zh_CN.UTF-8,并确保容器内安装了相应语言包。
通过以上步骤,你已经在腾讯云轻量服务器上拥有了一个稳定的 Jenkins 持续集成环境。接下来你可以编写 Jenkinsfile 来自动化你的代码构建和部署流程了。
CLOUD技术博