在腾讯云轻量应用服务器(Lighthouse)上搭建 Jenkins 是一个非常常见的需求,通常有两种主流方式:使用 Docker 容器化部署(推荐,干净、易维护)和 直接安装 Java 环境。
考虑到轻量服务器的资源限制和运维便捷性,以下将重点介绍 Docker 方式 的完整步骤,并在最后简要说明直接安装法。
方案一:使用 Docker 部署(推荐)
这种方式可以将 Jenkins 与宿主机系统隔离,升级或重装时只需操作镜像和容器,不会污染服务器环境。
1. 准备工作
登录到轻量服务器终端(SSH),确保已安装 docker 和 docker-compose(如果未安装,请先执行基础安装命令)。
# 更新软件源并安装 Docker (以 Ubuntu/Debian 为例)
curl -fsSL https://get.docker.com | sh -s docker --mirror Aliyun
systemctl enable docker && systemctl start docker
# 安装 docker-compose (如果版本较新,docker compose 是插件形式)
sudo apt-get install docker-compose-plugin
# 或者旧版单独安装
# sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# sudo chmod +x /usr/local/bin/docker-compose
2. 创建项目目录
创建一个文件夹用于存放 Jenkins 的数据和配置:
mkdir -p ~/jenkins-data
cd ~/jenkins-data
3. 编写 docker-compose.yml
在该目录下创建 docker-compose.yml 文件:
nano docker-compose.yml
粘贴以下内容(已优化了中文编码和数据持久化):
version: '3'
services:
jenkins:
image: jenkins/jenkins:lts-jdk17
container_name: jenkins
restart: always
user: root
ports:
- "8080:8080"
- "50000:50000"
volumes:
# 数据持久化
- ./jenkins_home:/var/jenkins_home
# 挂载 Docker socket,以便 Jenkins 内部能构建 Docker 镜像
- /var/run/docker.sock:/var/run/docker.sock
# 挂载时区,解决日志时间问题
- /etc/localtime:/etc/localtime:ro
environment:
- TZ=Asia/Shanghai
# 可选:设置内存限制,防止 OOM
deploy:
resources:
limits:
memory: 2G
保存并退出(按 Ctrl+O 回车,然后 Ctrl+X)。
4. 启动服务
运行以下命令启动 Jenkins:
docker-compose up -d
5. 获取初始管理员密码
Jenkins 首次启动需要初始化,会生成一个随机密码。查看该密码:
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
(注意:输出的一串字符即为密码)
6. 访问与初始化
- 打开浏览器,访问
http://<你的轻量服务器公网IP>:8080。 - 输入刚才获取的密码。
- 选择插件:
- 建议点击 "Install suggested plugins"(推荐插件),等待安装完成。
- 创建管理员账号:设置用户名和密码(建议与初始密码区分开)。
- 保存并开始使用:此时 Jenkins 即可正常使用。
重要提示:由于挂载了
/var/run/docker.sock,你在 Jenkins 里可以直接运行docker build或docker run命令来构建镜像,无需在 Jenkins 节点再额外安装 Docker。
方案二:直接安装(传统方式)
如果你不想使用 Docker,也可以直接在服务器上安装 Java 和 Jenkins 包。
-
安装 Java (JDK):
# Ubuntu/Debian sudo apt update sudo apt install openjdk-17-jdk -y # CentOS/RHEL sudo yum install java-17-openjdk-devel -y -
添加 Jenkins 官方源并安装:
# 导入 GPG Key curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.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 jenkins -y -
启动服务:
sudo systemctl start jenkins sudo systemctl enable jenkins -
访问:同样访问
http://<IP>:8080,通过/var/lib/jenkins/secrets/initialAdminPassword获取密码。
⚠️ 腾讯云轻量服务器特别注意事项
-
安全组配置(防火墙)
默认情况下,轻量服务器的安全组只开放了 SSH 端口。你必须手动放行 Jenkins 端口:- 登录腾讯云控制台 -> 轻量应用服务器 -> 详情 -> 网络 -> 安全组。
- 添加入方向规则:
- 协议类型:TCP
- 端口范围:
8080(Jenkins Web) 和50000(Agent 连接) - 授权对象:
0.0.0.0/0(或仅填写你的本地 IP 以提高安全性)
-
资源规划
- Jenkins 比较吃内存。如果是 1 核 1G 或 2G 内存的实例,建议开启 Swap 分区 防止构建任务多时内存溢出(OOM)。
- 开启 Swap 示例:
sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile # 写入 fstab 开机生效 echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
-
X_X与X_X
如果你的构建任务需要拉取 GitHub/GitLab 代码或 Maven 依赖,且服务器处于内网受限环境,可能需要配置 HTTP X_X或在 Jenkins 中配置全局X_X。
总结
对于大多数用户,方案一(Docker Compose) 是最佳选择,因为它不仅安装简单,还能让 Jenkins 具备“构建 Docker 镜像”的能力,非常适合现代 CI/CD 流程。记得第一时间去控制台配置安全组规则,否则无法从网络访问。
云知识CLOUD