jenkins-mesos插件使Jenkins能够根据工作负载在Mesos集群上动态启动Jenkins代理。当Jenkins构建队列增长时,插件自动在Mesos上启动额外代理以立即调度作业;当代理长时间空闲时,则自动关闭,实现资源高效利用。
需访问运行中的Mesos集群。有关搭建Mesos集群的说明,请参考Mesos官方网站。
进入Jenkins的“配置”页面。若插件安装成功,页面底部会显示“添加新云”选项:
http://HOST:PORT(DC/OS环境可简化为https://leader.mesos:5050)。可通过“测试连接”按钮验证插件能否连接Mesos主节点。若Mesos主节点使用自定义SSL证书,可在“使用自定义SSL证书”处提供证书。
“代理规格”定义Mesos上的Jenkins节点属性,可通过“高级”选项管理(添加/编辑/删除)。包含执行器CPU、内存等资源信息,用于匹配Mesos资源提供。标签名是作业与代理类型的关联键,例如:
powerful_agent(20 CPU、***M内存)light_weight_agent(1 CPU、128M内存)Jenkins配置即代码示例:在dcos/conf/jenkins/configuration.yaml中配置基于amazoncorretto:8的Linux代理和mesosphere/jenkins-windows-node:latest的Windows代理。构建示例见https://github.com/jeschkies/hello-world-fsharp/blob/master/Jenkinsfile%E3%80%82
插件支持DC/OS企业版集群认证,需设置环境变量:
DCOS_SERVICE_ACCOUNT:服务账户名DCOS_SERVICE_ACCOUNT_PRIVATE_KEY:服务账户私钥在作业配置中勾选“限制项目运行节点”,输入Mesos云配置中定义的标签名(默认mesos),使作业在指定类型的Mesos代理上运行。
默认使用Mesos原生容器,如需在Docker容器中运行代理,有两种选项:
--containerizers=docker(推荐)。--containerizers=external。卷
需至少指定容器路径以挂载卷,可选指定主机路径实现数据持久化。支持读写/只读模式。
参数
可添加docker run命令的额外参数,需使用完整参数名(不含前置--),确保与Mesos代理的Docker版本兼容。例如:输入volumes-from和my_container_name以挂载my_container_name的卷。
默认Jenkins保守分配代理(队列中2个构建时不会立即启动2个执行器)。如需为每个排队构建立即启动执行器,启动Jenkins时添加:
bash-Dhudson.slaves.NodeProvisioner.MARGIN=50 -Dhudson.slaves.NodeProvisioner.MARGIN0=0.85
在“构建环境”中勾选“Mesos单用途代理”,构建完成后自动销毁代理。
通过以下代码在Pipeline中配置代理自动销毁:
groovynode('mylabel') { wrap([$class: 'MesosSingleUseSlave']) { // 构建操作 } }
bash# 构建插件(生成target/mesos.hpi) ./gradlew check # 启动测试Jenkins服务器 ./gradlew server # 运行单元测试 ./gradlew test # 运行集成测试(需安装Mesos和Docker) ./gradlew integrationTest
代码格式遵循https://github.com/google/styleguide%E3%80%82
详见dcos-testing/README.md。
需拥有发布权限,并按Jenkins插件发布指南在~/.m2/settings.xml和~/.jenkins-ci.org中配置凭据。发布步骤:
build.gradle中设置版本。./gradlew publish发布插件。以下是 mesosphere/jenkins 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务