腾讯云轻量服务器jenkins搭建?

在腾讯云轻量应用服务器(Lighthouse)上搭建 Jenkins 是一个非常常见的需求,适合个人开发者、小型团队或 CI/CD 入门场景。由于轻量服务器的资源通常有限(如 1-2 核 CPU,1-4GB 内存),我们需要采用精简且高效的部署方案。

以下是在 Linux 环境(推荐 Ubuntu 20.04/22.04 或 CentOS 7/8)下通过 Docker 快速搭建 Jenkins 的完整步骤。相比直接安装 Java,Docker 方式更易于管理依赖和后续升级。

前置准备

  1. 购买并初始化服务器

    • 在腾讯云控制台购买轻量应用服务器(建议选择 Ubuntu 20.04/22.04 LTS 镜像)。
    • 确保已设置好安全组规则,放行 Jenkins 默认端口 8080 以及 SSH 端口 22
    • 获取服务器的公网 IP 地址。
  2. 登录服务器
    使用终端工具(如 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

  1. 获取管理员密码
    当容器完全启动后,再次查看日志(或者执行以下命令):

    docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

    复制输出的那一串长字符。

  2. Web 端配置

    • 在浏览器访问:http://<你的服务器公网IP>:8080
    • 输入刚才获取的密码。
    • 插件选择
      • 如果服务器网络正常,选择 "Install suggested plugins"(推荐)。
      • 如果网络慢导致超时,选择 "Select plugins to install",只勾选最基础的(如 Git, Maven, NodeJS 等按需勾选),后续可在“系统管理”中补装。
  3. 创建管理员账号
    设置用户名、密码、邮箱,点击“保存并完成”。

  4. 完成
    点击“开始使用 Jenkins",即可进入主界面。


第五步:关键优化(针对轻量服务器)

由于轻量服务器内存较小,Jenkins 默认可能会因为内存不足而崩溃(OOM Kill)。

  1. 修改内存限制
    编辑 docker-compose.yml,调整 JAVA_OPTS 中的 -Xmx 值。例如,如果是 2G 内存的机器,建议设置为 -Xmx1024m;如果是 4G,可设为 -Xmx2048m

    environment:
      - JAVA_OPTS=-Xms512m -Xmx1024m

    修改后重启容器:docker compose restart

  2. 配置 Docker 权限
    在 Jenkins 的 System Management -> Plugins 中安装 Docker Pipeline 插件。
    System Management -> Global Tool Configuration 中配置 Docker 路径为 /var/run/docker.sock,这样 Jenkins 才能构建包含 Docker 的镜像。

  3. 换源提速(重要)
    如果在安装插件时速度极慢,建议在 Jenkins 中配置国内镜像源,或者在系统层面配置 Docker 镜像提速(阿里云/腾讯云都有免费的镜像提速器配置指南)。


常见问题排查

  • 无法访问 8080 端口
    检查腾讯云控制台的安全组规则,确保入方向允许 TCP 协议的 8080 端口。
  • Jenkins 频繁重启或卡死
    通常是内存不足。检查 docker stats 查看内存占用,并在 docker-compose.yml 中降低 JAVA_OPTS-Xmx 值,同时增加 Swap 分区(虚拟内存)作为缓冲。
  • 中文乱码
    docker-compose.ymlenvironment 中添加 LANG=en_US.UTF-8zh_CN.UTF-8,并确保容器内安装了相应语言包。

通过以上步骤,你已经在腾讯云轻量服务器上拥有了一个稳定的 Jenkins 持续集成环境。接下来你可以编写 Jenkinsfile 来自动化你的代码构建和部署流程了。

未经允许不得转载:CLOUD技术博 » 腾讯云轻量服务器jenkins搭建?