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

在腾讯云轻量应用服务器(Tencent Cloud Lighthouse)上搭建 Jenkins 是一个常见的需求,通常推荐使用 Docker 方式部署,因为这样环境隔离性好、升级方便且占用资源相对可控。

以下是基于 Ubuntu 20.04/22.04 系统的完整搭建步骤:

1. 基础环境准备

首先登录到轻量服务器的控制台,通过 SSH 连接进入终端。确保系统是最新的,并安装必要的工具。

# 更新软件源
sudo apt update && sudo apt upgrade -y

# 安装 Docker 和 Docker Compose (如果尚未安装)
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
sudo systemctl enable docker
sudo systemctl start docker
sudo usermod -aG docker $USER
# 注意:执行完上述命令后,建议重新登录或运行 newgrp docker 使组权限生效

2. 创建 Jenkins 数据目录

为了持久化保存 Jenkins 的配置、插件和历史构建记录,我们需要创建一个专门的挂载目录。

mkdir -p ~/jenkins-data
cd ~/jenkins-data

3. 编写 Docker Compose 配置文件

在该目录下创建一个 docker-compose.yml 文件。这个文件定义了 Jenkins 容器的运行参数、端口映射以及数据卷挂载。

version: '3'
services:
  jenkins:
    image: jenkins/jenkins:lts-jdk17
    container_name: jenkins
    restart: always
    ports:
      - "8080:8080"   # Jenkins 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_TOOL_OPTIONS=-Xms512m -Xmx1g # 限制 Java 内存,防止 OOM

注意/var/run/docker.sock 的挂载非常重要,如果你希望 Jenkins 能够执行 docker builddocker run 命令来构建镜像,必须挂载此文件。

4. 启动 Jenkins 服务

使用 Docker Compose 启动服务:

docker compose up -d

等待几秒钟,确认容器状态正常:

docker ps

你应该能看到名为 jenkins 的容器处于 Up 状态。

5. 获取初始管理员密码

首次启动后,Jenkins 需要生成一个随机密码用于登录。

# 查看日志以获取密码
sudo docker logs jenkins | grep "Please use the following password to proceed to installation:"

输出类似:Please use the following password to proceed to installation: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx。复制这串密码。

6. 配置与解锁

  1. 打开浏览器,访问 http://<你的服务器公网IP>:8080
  2. 输入密码:粘贴刚才获取的初始密码。
  3. 选择插件
    • 推荐选择 "Install suggested plugins"(安装建议插件),这会一次性安装常用插件。
  4. 创建管理员账号
    • 设置用户名、密码、邮箱等信息。
    • 点击“保存并完成”或“开始使用”。

7. 关键后续配置(重要)

A. 配置 Docker 权限

由于我们挂载了 /var/run/docker.sock,Jenkins 默认可能没有权限调用 Docker。

  • 在 Jenkins 页面中,进入 系统管理 (Manage Jenkins) -> 节点管理 (Nodes) -> 全局工具配置 (Global Tool Configuration)
  • 确保安装了 Docker 插件(通常在“安装建议插件”时已自动安装)。
  • 如果构建任务报错 Permission denied,可能需要将当前用户加入 docker 组,或者在 Jenkins 的系统管理 -> 安全性 -> 授权策略中检查。

B. 开放防火墙端口

轻量应用服务器的安全组默认可能只开放了 80/443。你需要去腾讯云控制台:

  1. 进入 轻量应用服务器 详情页。
  2. 点击 防火墙 标签页。
  3. 添加规则:
    • 协议:TCP
    • 端口范围:8080, 50000
    • 来源 IP:0.0.0.0/0 (或指定特定 IP)

C. 配置X_X(可选)

如果你的服务器在国内但需要从国外拉取代码或下载 Maven 依赖,建议在 Jenkins 中配置 HTTP/HTTPS X_X,或者直接使用阿里云/腾讯云的 Maven 镜像仓库。

常见问题排查

  • 无法访问页面:检查安全组是否放行了 8080 端口,以及 docker ps 是否显示容器正在运行。
  • 构建速度慢:可以在 docker-compose.yml 中调整 -Xmx 参数增加内存,或者在 Jenkins 内部配置国内镜像源(如阿里云 Docker Hub 镜像)。
  • 磁盘空间不足:Jenkins 会占用较多磁盘空间存储构建日志和工件,定期检查 ~/jenkins-data 的大小,必要时清理旧构建记录。

至此,你的 Jenkins 持续集成环境已经搭建完成,可以开始编写 Pipeline 脚本进行自动化构建了。

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