本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

pct Docker 镜像下载 - 轩辕镜像

pct 镜像详细信息和使用指南

pct 镜像标签列表和版本信息

pct 镜像拉取命令和加速下载

pct 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

pct
jenkins/pct
自动构建

pct 镜像详细信息

pct 镜像标签列表

pct 镜像使用说明

pct 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

插件兼容性测试器(Plugin Compat Tester),该Docker镜像已不再发布。
5 收藏0 次下载activejenkins镜像

pct 镜像详细说明

pct 使用指南

pct 配置说明

pct 官方文档

Plugin Compatibility Tester (PCT) 镜像文档

镜像概述和主要用途

Plugin Compatibility Tester (PCT) 是一个用于生成 Jenkins 插件与 Jenkins 核心版本兼容性矩阵的工具。注意:该镜像已不再发布,仅作历史参考用途

核心功能和特性

  • 生成 Jenkins 插件与 Jenkins 核心版本的兼容性矩阵
  • 支持通过 Git 仓库拉取插件源码进行测试
  • 支持指定自定义 Jenkins WAR 文件作为测试目标
  • 支持本地插件源码挂载测试
  • 提供调试模式和自定义 Maven 配置支持

使用场景和适用范围

适用于 Jenkins 插件开发者,在插件开发过程中测试插件与不同版本 Jenkins 核心的兼容性,验证插件在特定 Jenkins 版本下的功能正确性。

详细使用方法和配置说明

Docker 运行方式

基本示例

测试指定插件与最新 Jenkins 核心
克隆插件仓库并针对最新 Jenkins 核心版本运行 PCT:

shell
docker run -ti --rm -v maven-repo:/root/.m2 -v $(pwd)/out:/pct/out -e ARTIFACT_ID=ssh-slaves -e VERSION=ssh-slaves-1.24 jenkins/pct

测试指定插件与自定义 Jenkins WAR
针对指定 Jenkins WAR 文件(支持 SNAPSHOT 构建)测试插件最新版本:

shell
docker run -ti --rm -v maven-repo:/root/.m2 -v $(pwd)/out:/pct/out -v my/jenkins.war:/pct/jenkins.war:ro -e ARTIFACT_ID=ssh-slaves jenkins/pct

测试自定义 Jenkins 和插件版本
通过卷挂载自定义 Jenkins WAR 和插件源码进行测试:

shell
docker run -ti --rm -v maven-repo:/root/.m2 -v $(pwd)/out:/pct/out -v my/jenkins.war:/pct/jenkins.war:ro -v my/plugin:/pct/plugin-src:ro jenkins/pct

测试自定义仓库分支
针对自定义 Git 仓库的特定分支运行 PCT:

shell
docker run --rm -v maven-repo:/root/.m2 -v $(pwd)/out:/pct/out -e CHECKOUT_SRC=[***] -e VERSION=JENKINS-26374 jenkins/pct

批量测试 WAR 中的多个插件

若需测试 WAR 文件(如通过 Custom War Packager 生成)中包含的多个插件,可使用以下配置避免为每个插件启动新容器:

shell
docker run -ti --rm -v maven-repo:/root/.m2 -v $(pwd)/out:/pct/out -v my/jenkins.war:/pct/jenkins.war:ro -e ARTIFACT_ID=ssh-slaves,credentials -e DO_NOT_OVERRIDE_PCT_CHECKOUT=true jenkins/pct

手动运行方式

PCT 提供 CLI 接口支持本地手动运行:

  1. 下载 PCT 源码并执行 mvn clean install
  2. 将插件源码下载至 PLUGIN_SRC 目录
  3. 检出插件仓库中需要测试的标签/提交/分支
  4. 执行 mvn clean install -DskipTests 初始化 artifacts
  5. 运行 PCT CLI(根据系统调整路径):
shell
java -jar target/plugins-compat-tester-cli.jar \
  --working-dir $(pwd)/tmp/work \
  --include-plugins ${PLUGIN_ARTIFACT_ID} \
  --war jenkins.war --local-checkout-dir ${PLUGIN_SRC} \
  --mvn ${PATH_TO_MAVEN}

执行 java -jar target/plugins-compat-tester-cli.jar -help 获取完整选项列表。

注意:目前同时测试多个插件需确保插件已发布,测试 SNAPSHOT 版本需为每个插件单独执行上述步骤。

自定义 Java 版本运行

本地运行

shell
make demo TEST_JDK_HOME=${YOUR_JDK_HOME} PLUGIN_NAME=git

Docker 运行

通过 JDK_VERSION 环境变量指定 Java 版本(镜像内置 Java 17 和 11):

shell
make demo-docker JDK_VERSION=17 PLUGIN_NAME=git

完整选项可参考 Makefile。

配置说明

环境变量

环境变量描述
ARTIFACT_ID待测试插件的 artifact ID。若定义 CHECKOUT_SRC 或挂载 /pct/plugin-src,镜像可自动识别该 ID
VERSION待检出和测试的标签/提交/分支,默认值为 master
CHECKOUT_SRC自定义 Git 克隆源(如 [***]),默认值为 [***]{ARTIFACT_ID}-plugin.git
JAVA_OPTS传递给 PCT CLI 的 Java 选项
DEBUG布尔标志,启用远程调试模式(端口 5000)
M2_SETTINGS_FILE自定义 Maven 配置文件路径(需配合卷挂载使用)
INSTALL_BUNDLED_SNAPSHOTS是否将 JAR 和插件快照安装到本地仓库,默认值为 true
SKIP_LOCAL_SNAPSHOT_INSTALLATION若存在,将不安装 WAR 快照(核心和插件);若不存在,将安装 WAR 快照
DO_NOT_OVERRIDE_PCT_CHECKOUT让 PCT CLI 而非 run-pct 脚本检出插件版本,确保测试所有插件
JDK_VERSIONDocker 运行时指定 Java 版本(支持 17 或 11)

卷路径描述
/pct/plugin-src插件源码目录,若未指定将自动检出源码
/pct/jenkins.war用于测试的 Jenkins WAR 文件
/pct/m2-settings.xml自定义 Maven 配置文件(可选)。若指定 M2_SETTINGS_FILE,则优先使用该变量指定的路径
/pct/outPCT 输出目录,所有报告将存储于此
/pct/tmp临时目录,可挂载用于分析运行失败
/root/.m2Maven 仓库目录,可用于传递 settings.xml 或缓存 artifacts

注意:若未提供 WAR 文件,PCT 镜像的入口脚本会在调用 PCT 前尝试检出插件源码。对于依赖 PreCheckoutHooks 的插件(如多模块项目),标准 docker run 会因入口脚本未运行 PreCheckoutHooks 而失败。此时可通过以下方式解决:使用 WAR 文件、挂载插件源码、覆盖入口点手动运行 PCT 或手动运行 PCT。

开发者信息

Docker 环境下调试 PCT

如需调试 Docker 环境中的 PCT 实例,使用 -e DEBUG=true -p 5005:5005 标志,然后通过 IDE 的远程调试器连接容器:

shell
docker run --rm -v maven-repo:/root/.m2 -v $(pwd)/out:/pct/out -e ARTIFACT_ID=job-restrictions -e DEBUG=true -p 5005:5005 -i jenkins/pct

Windows 环境运行 PCT Makefile

PCT 本身支持 Windows,但开发 Makefile 可能需要特殊配置。需安装 Make 和 Maven(如通过 Chocolatey 包管理器)并正确设置环境变量:

batch
set JAVA_HOME=...
make demo PLUGIN_NAME=artifact-manager-s3 WAR_PATH=test-wars/mywar.war MVN_EXECUTABLE="C:\ProgramData\chocolatey\bin\mvn.exe"

有用链接

  • Devoxx '11 BOF 关于 PCT 的演示文稿:[***] GAE 功能在新版本中已移除)

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"