You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否将Jenkins构建文件提交至与同步源不同的Perforce流?

Jenkins P4 Publish 跨Perforce流提交UE4二进制文件解决方案

你的核心问题是**paths参数为空**,Perforce不知道要提交哪些文件,所以任务无报错但也没有提交任何内容。结合UE4引擎构建场景,按以下步骤调整配置:

1. 修正p4publish核心配置

补充paths参数,明确指定要提交的二进制文件路径(匹配UE4构建生成的关键目录),同时确保工作区映射正确:

p4publish credential: 'perforce-creds', 
    publish: submit(
        delete: false, 
        description: 'Submitted by Jenkins. Build: ${BUILD_TAG}', 
        modtime: false, 
        onlyOnSuccess: true, 
        // 指定UE4二进制文件对应的Perforce流路径,可按需增减目录
        paths: '//Game/EngineBinaries/main/Binaries/... //Game/EngineBinaries/main/DerivedDataCache/... //Game/EngineBinaries/main/Plugins/...', 
        purge: '', 
        reopen: false
    ), 
    workspace: streamSpec(
        charset: 'none', 
        format: 'jenkins-${NODE_NAME}-${JOB_NAME}-${EXECUTOR_NUMBER}', 
        pinHost: false, 
        streamName: '//Game/EngineBinaries/main'
    )

2. 提前标记新文件为Perforce追踪

UE4构建生成的二进制文件属于新文件,Perforce默认不会自动追踪,需要在p4publish步骤前添加一个P4命令执行:

p4 add //Game/EngineBinaries/main/...

这一步会把目标流路径下的所有新文件标记为待提交状态。

3. 验证工作区映射

确保Jenkins使用的目标流工作区(//Game/EngineBinaries/main)已正确映射本地构建生成的二进制目录,比如本地的./Engine/Binaries/要对应到Perforce流的//Game/EngineBinaries/main/Binaries/。可通过Jenkins任务日志查看工作区的映射规则,确认路径匹配。

4. 排查日志细节

如果仍未提交,查看Jenkins任务的完整日志,搜索p4publish相关输出,大概率会看到“no files to submit”的提示,这说明路径匹配有误,需要调整paths参数的路径规则,确保和本地生成的文件路径对应。

内容的提问来源于stack exchange,提问作者iparish-pw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 11:48:16