Squid Web Cache Wiki

Squid Web Cache 文档

🔗 基于 Docker 的构建农场设置

🔗 主机

构建农场本身运行在 buildmaster.squid-cache.org 上。你需要在此拥有登录权限才能执行以下任何操作。

所有内容都位于 /srv/jenkins,这是 jenkins 用户的家目录。唯一的外部钩子是 /etc/rc.local,用于启动 jenkins。

Jenkins 以 jenkins 用户身份运行;它使用 ssh 连接到远程主机(有些主机通过 jnlp 调用自己的服务),并在需要构建时按需启动基于 Docker 的从属节点。

🔗 Docker 设置和约定

每个从属节点都基于一个镜像。可以通过命令 docker images(以 root 或 jenkins 用户身份)获取可用镜像列表。与构建农场相关的镜像命名约定为 farm-<osname>-<osversion>。已验证的恢复点会带有恢复点日期标签 - 因此约定为 farm-<osname>-<osversion>:<yymmdd>

每个从属节点的 /home/jenkins 目录用于托管该从属节点的构建环境,并从主机目录 /srv/jenkins/docker-images/<osname>-<osversion> 映射而来。

/srv/jenkins/docker-images 中,还有一些用于支持管理容器的实用命令。

🔗 镜像管理

镜像从 jenkins@buildmaster:~/docker-images/dockerfiles(这是一个本地 git 仓库)中的 Dockerfile 构建。为了更新镜像,请编辑相应的 Dockerfile,然后在顶层目录执行:

$ make <image name> [<image name> ...]

清理旧版本镜像

$ make clean

🔗 主机安装

运行镜像所需的主机可以使用此命令列表进行安装(假设是 debian 主机)

apt -y update && apt -y upgrade && apt -y install openjdk-11-jre-headless docker.io
useradd -m -u 1000 -G docker jenkins

(optional)
docker pull --all-tags squidcache/buildfarm

🔗 按需自动扩缩容构建

这些在 buildmaster 上运行,概念的组合方式如下:- 构建需要绑定到一个标记为“docker-build-host”的节点。此标签由 DigitalOcean 插件提供,该插件按需实例化一个新的云虚拟机,并在不使用时将其销毁。云初始化程序会安装运行从属节点所需的组件。如果这是一个矩阵构建,则需要有一个“slaves”矩阵轴,其中包含单个标签以强制执行此操作,否则作业将在所有地方运行 - 构建命令是

- 要使用的 Docker 镜像托管在 Docker Hub 上,作为 squidcache/buildfarm 的标签 - 为了构建和推送这些镜像,请转到 jenkins@buildmaster:~/docker-images/dockerfiles,然后执行 make all push

导航: 网站搜索, 网站页面, 分类, 🔼 向上