Started by user haoxiangtao
Obtained orin/orin-build-ros2.jenkinsfile from git http://159.27.226.4/weilikang/jenkinsfiles.git
Loading library jenkinslib@master
Attempting to resolve master from remote references...
> git --version # timeout=10
> git --version # 'git version 2.25.1'
using GIT_ASKPASS to set credentials gitlab_weilk
> git ls-remote -h -- http://159.27.226.4/weilikang/jenkinslib.git # timeout=10
Found match: refs/heads/master revision 5c3d5f664126347cb8746f43eacb83dd1d331b93
The recommended git tool is: NONE
using credential gitlab_weilk
> git rev-parse --resolve-git-dir /var/lib/jenkins/workspace/orin-module-ros2@libs/e94781a6efe9f09486b8ea226d2b758971618b049d1fe436de6265fac85ceea3/.git # timeout=10
Fetching changes from the remote Git repository
> git config remote.origin.url http://159.27.226.4/weilikang/jenkinslib.git # timeout=10
Fetching without tags
Fetching upstream changes from http://159.27.226.4/weilikang/jenkinslib.git
> git --version # timeout=10
> git --version # 'git version 2.25.1'
using GIT_ASKPASS to set credentials gitlab_weilk
> git fetch --no-tags --force --progress -- http://159.27.226.4/weilikang/jenkinslib.git +refs/heads/*:refs/remotes/origin/* # timeout=10
Checking out Revision 5c3d5f664126347cb8746f43eacb83dd1d331b93 (master)
> git config core.sparsecheckout # timeout=10
> git checkout -f 5c3d5f664126347cb8746f43eacb83dd1d331b93 # timeout=10
Commit message: "Update vehicleInfo.groovy"
> git rev-list --no-walk 5c3d5f664126347cb8746f43eacb83dd1d331b93 # timeout=10
[Pipeline] Start of Pipeline
[Pipeline] node
Running on orin-arm-ros2 in /home/nvidia/weilk/jenkins/workspace/orin-module-ros2
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Declarative: Checkout SCM)
[Pipeline] checkout
The recommended git tool is: NONE
using credential gitlab_weilk
Fetching changes from the remote Git repository
Checking out Revision bc9b0f718136a05395a6908683064a53bbea5c78 (refs/remotes/origin/master)
Commit message: "Update map-png.jenkinsfile"
> git rev-parse --resolve-git-dir /home/nvidia/weilk/jenkins/workspace/orin-module-ros2/.git # timeout=10
> git config remote.origin.url http://159.27.226.4/weilikang/jenkinsfiles.git # timeout=10
Fetching upstream changes from http://159.27.226.4/weilikang/jenkinsfiles.git
> git --version # timeout=10
> git --version # 'git version 2.25.1'
using GIT_ASKPASS to set credentials gitlab_weilk
> git fetch --tags --force --progress -- http://159.27.226.4/weilikang/jenkinsfiles.git +refs/heads/*:refs/remotes/origin/* # timeout=10
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
> git config core.sparsecheckout # timeout=10
> git checkout -f bc9b0f718136a05395a6908683064a53bbea5c78 # timeout=10
> git rev-list --no-walk bc9b0f718136a05395a6908683064a53bbea5c78 # timeout=10
[Pipeline] }
[Pipeline] // stage
[Pipeline] withEnv
[Pipeline] {
[Pipeline] withEnv
[Pipeline] {
[Pipeline] lock
Trying to acquire lock on [Label: orin-arm-ros2, Quantity: 1]
Lock acquired on [Label: orin-arm-ros2, Quantity: 1]
[Pipeline] {
[Pipeline] timeout
Timeout set to expire in 3 hr 0 min
[Pipeline] {
[Pipeline] stage
[Pipeline] { (setup parameters)
[Pipeline] script
[Pipeline] {
[Pipeline] properties
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (configure-name)
[Pipeline] node
Running on Jenkins in /var/lib/jenkins/workspace/orin-module-ros2
[Pipeline] {
[Pipeline] checkout
The recommended git tool is: NONE
using credential gitlab_weilk
> git rev-parse --resolve-git-dir /var/lib/jenkins/workspace/orin-module-ros2/.git # timeout=10
Fetching changes from the remote Git repository
> git config remote.origin.url http://159.27.226.4/weilikang/jenkinsfiles.git # timeout=10
Fetching upstream changes from http://159.27.226.4/weilikang/jenkinsfiles.git
> git --version # timeout=10
> git --version # 'git version 2.25.1'
using GIT_ASKPASS to set credentials gitlab_weilk
> git fetch --tags --force --progress -- http://159.27.226.4/weilikang/jenkinsfiles.git +refs/heads/*:refs/remotes/origin/* # timeout=10
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
Checking out Revision bc9b0f718136a05395a6908683064a53bbea5c78 (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f bc9b0f718136a05395a6908683064a53bbea5c78 # timeout=10
Commit message: "Update map-png.jenkinsfile"
[Pipeline] withEnv
[Pipeline] {
[Pipeline] script
[Pipeline] {
[Pipeline] echo
不操作配置
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (checkout)
[Pipeline] script
[Pipeline] {
[Pipeline] echo
all
[Pipeline] ansiColor
[Pipeline] {
[Pipeline] echo
>>>>>>>>>>拉取orin-module-ros2>>>>>>>>>>
[Pipeline] }
[Pipeline] // ansiColor
[Pipeline] sh
+ rm -rf /senior/workspace/orin-module-ros2/build /senior/workspace/orin-module-ros2/devel /senior/workspace/orin-module-ros2/install /senior/workspace/orin-module-ros2/logs /senior/workspace/orin-module-ros2/.catkin_tools /senior/workspace/orin-module-ros2/.caktin_workspace /senior/workspace/orin-module-ros2/src/hdmap_analysis /senior/workspace/orin-module-ros2/src/hdmap_analysis@tmp /senior/workspace/orin-module-ros2/src/hdmap_interface /senior/workspace/orin-module-ros2/src/hdmap_interface@tmp /senior/workspace/orin-module-ros2/src/pnc /senior/workspace/orin-module-ros2/src/pnc@tmp /senior/workspace/orin-module-ros2/src/shared_msgs /senior/workspace/orin-module-ros2/src/shared_msgs@tmp /senior/workspace/orin-module-ros2/module_ros2_2026-11-11_17-10-13.zip /senior/workspace/orin-module-ros2/index.html
[Pipeline] echo
[shared_msgs, dox, mrpt2, segmentation, lane_detection, new_detection_highway, login_sync_tool, senior_calibration, static_transform, rslidar_sdk, msf_localization, msf_assistant, hdmap, lidar_camera_fusion, prediction, peripheral_controller, data_collection, pnc, guardian, tos_visualize, camera_driver, sins_calibration_hmi, tools, system-ros, lidar_loc_v2, control, rminterpreter, hdmap_cloud, node-manager, thirdparty, node-manager-hmi, node_manager_online, unified-system-monitor, ros-bridge, ole_lidar, hdcontrol, rcinterpreter, versions_observer, cache_bag_node, system_monitor, performance_analyst, schedule_manager, groundmarker_detection, simulator, calibration_tools, snapshot_upload, hdmap_interface, avm, imv_spreader_detection, crane_align, warningModule, spreader_segmentation, new_truck_spreader_detection, rslidar_sdk_new, traffic_light_detection, perception_publisher, rtsp_relayer, hesai_lidar, platoon_core, lidar_manual_calib_ro2, camera_extrinsic_calib, mmWave, canRoute]
[Pipeline] sh
+ mkdir -p /senior/workspace/orin-module-ros2/src/shared_msgs
[Pipeline] dir
Running in /senior/workspace/orin-module-ros2/src/shared_msgs
[Pipeline] {
[Pipeline] checkout
The recommended git tool is: NONE
using credential gitlab_ota
Cloning the remote Git repository
Avoid second fetch
Checking out Revision 366e1c9715624e15d258473668783f2d8e88d0af (origin/dev_ros2)
Commit message: "feat(perception_msgs): add LkaLane for the lane detection -> lateral control interface"
Cloning repository http://159.27.226.4/shared/shared_msgs.git
> git init /senior/workspace/orin-module-ros2/src/shared_msgs # timeout=10
Fetching upstream changes from http://159.27.226.4/shared/shared_msgs.git
> git --version # timeout=10
> git --version # 'git version 2.25.1'
using GIT_ASKPASS to set credentials gitlab_ota
> git fetch --tags --force --progress -- http://159.27.226.4/shared/shared_msgs.git +refs/heads/*:refs/remotes/origin/* # timeout=30
> git config remote.origin.url http://159.27.226.4/shared/shared_msgs.git # timeout=10
> git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
> git rev-parse origin/dev_ros2^{commit} # timeout=10
> git config core.sparsecheckout # timeout=10
> git checkout -f 366e1c9715624e15d258473668783f2d8e88d0af # timeout=30
> git rev-list --no-walk 366e1c9715624e15d258473668783f2d8e88d0af # timeout=10
[Pipeline] sh
+ git checkout -b dev_ros2
Switched to a new branch 'dev_ros2'
[Pipeline] }
[Pipeline] // dir
[Pipeline] echo
dox不编译
[Pipeline] echo
mrpt2不编译
[Pipeline] echo
segmentation不编译
[Pipeline] echo
lane_detection不编译
[Pipeline] echo
new_detection_highway不编译
[Pipeline] echo
login_sync_tool不编译
[Pipeline] echo
senior_calibration不编译
[Pipeline] echo
static_transform不编译
[Pipeline] echo
rslidar_sdk不编译
[Pipeline] echo
msf_localization不编译
[Pipeline] echo
msf_assistant不编译
[Pipeline] echo
hdmap不编译
[Pipeline] echo
lidar_camera_fusion不编译
[Pipeline] echo
prediction不编译
[Pipeline] echo
peripheral_controller不编译
[Pipeline] echo
data_collection不编译
[Pipeline] echo
pnc不编译
[Pipeline] echo
guardian不编译
[Pipeline] echo
tos_visualize不编译
[Pipeline] echo
camera_driver不编译
[Pipeline] echo
sins_calibration_hmi不编译
[Pipeline] echo
tools不编译
[Pipeline] echo
system-ros不编译
[Pipeline] echo
lidar_loc_v2不编译
[Pipeline] echo
control不编译
[Pipeline] echo
rminterpreter不编译
[Pipeline] echo
hdmap_cloud不编译
[Pipeline] echo
node-manager不编译
[Pipeline] echo
thirdparty不编译
[Pipeline] echo
node-manager-hmi不编译
[Pipeline] echo
node_manager_online不编译
[Pipeline] echo
unified-system-monitor不编译
[Pipeline] echo
ros-bridge不编译
[Pipeline] echo
ole_lidar不编译
[Pipeline] echo
hdcontrol不编译
[Pipeline] echo
rcinterpreter不编译
[Pipeline] echo
versions_observer不编译
[Pipeline] echo
cache_bag_node不编译
[Pipeline] echo
system_monitor不编译
[Pipeline] echo
performance_analyst不编译
[Pipeline] echo
schedule_manager不编译
[Pipeline] echo
groundmarker_detection不编译
[Pipeline] echo
simulator不编译
[Pipeline] echo
calibration_tools不编译
[Pipeline] echo
snapshot_upload不编译
[Pipeline] echo
hdmap_interface不编译
[Pipeline] echo
avm不编译
[Pipeline] echo
imv_spreader_detection不编译
[Pipeline] echo
crane_align不编译
[Pipeline] echo
warningModule不编译
[Pipeline] echo
spreader_segmentation不编译
[Pipeline] echo
new_truck_spreader_detection不编译
[Pipeline] echo
rslidar_sdk_new不编译
[Pipeline] echo
traffic_light_detection不编译
[Pipeline] echo
perception_publisher不编译
[Pipeline] echo
rtsp_relayer不编译
[Pipeline] echo
hesai_lidar不编译
[Pipeline] sh
+ mkdir -p /senior/workspace/orin-module-ros2/src/platoon_core
[Pipeline] dir
Running in /senior/workspace/orin-module-ros2/src/platoon_core
[Pipeline] {
[Pipeline] checkout
The recommended git tool is: NONE
using credential gitlab_ota
Cloning the remote Git repository
Avoid second fetch
Checking out Revision 58358d03c9eaee4f4a3cdeb94db6ed3c4a8c97b3 (origin/rc_dev_proto)
Commit message: "feat(platoon): 打通可靠变道通知、PNC反馈和HMI状态链路"
First time build. Skipping changelog.
[Pipeline] sh
Cloning repository http://159.27.226.4/system/platoon_core.git
> git init /senior/workspace/orin-module-ros2/src/platoon_core # timeout=10
Fetching upstream changes from http://159.27.226.4/system/platoon_core.git
> git --version # timeout=10
> git --version # 'git version 2.25.1'
using GIT_ASKPASS to set credentials gitlab_ota
> git fetch --tags --force --progress -- http://159.27.226.4/system/platoon_core.git +refs/heads/*:refs/remotes/origin/* # timeout=30
> git config remote.origin.url http://159.27.226.4/system/platoon_core.git # timeout=10
> git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
> git rev-parse origin/rc_dev_proto^{commit} # timeout=10
> git config core.sparsecheckout # timeout=10
> git checkout -f 58358d03c9eaee4f4a3cdeb94db6ed3c4a8c97b3 # timeout=30
+ git checkout -b rc_dev_proto
Switched to a new branch 'rc_dev_proto'
[Pipeline] }
[Pipeline] // dir
[Pipeline] echo
lidar_manual_calib_ro2不编译
[Pipeline] echo
camera_extrinsic_calib不编译
[Pipeline] echo
mmWave不编译
[Pipeline] echo
canRoute不编译
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (version)
[Pipeline] script
[Pipeline] {
[Pipeline] ansiColor
[Pipeline] {
[Pipeline] echo
>>>>>>>>>>GET--INFO>>>>>>>>>>
[Pipeline] }
[Pipeline] // ansiColor
[Pipeline] script
[Pipeline] {
[Pipeline] sh
+ rm -rf /senior/workspace/orin-module-ros2/src/platoon_core@tmp /senior/workspace/orin-module-ros2/src/shared_msgs@tmp
[Pipeline] sh
+ cd /senior/workspace/orin-module-ros2/src/
+ ls -d platoon_core/ shared_msgs/
[Pipeline] echo
本次编译所有模块:[platoon_core, shared_msgs]
[Pipeline] echo
------------------------------------ 开始获取各个模块的相关信息 ----------------------------------------------
[Pipeline] sh
+ mkdir -p /senior/workspace/commit/orin-module-ros2/
+ cp -r /senior/workspace/commit/orin-module-ros2/ /senior/workspace/commit/orin-module-ros2_tmp/
[Pipeline] dir
Running in /senior/workspace/orin-module-ros2/src/platoon_core
[Pipeline] {
[Pipeline] sh
+ git rev-parse --short HEAD
[Pipeline] echo
platoon_core当前commitId: 58358d0
[Pipeline] sh
+ git symbolic-ref --short -q HEAD
[Pipeline] echo
platoon_core当前模块分支为: rc_dev_proto
[Pipeline] sh
+ git remote -v
+ grep push
+ cut -d / -f 4-
+ awk -F. '{print $(NF-1)}'
[Pipeline] echo
platoon_core对应的path_name: system/platoon_core
[Pipeline] sh
+ git remote -v
+ grep push
+ awk -F/ '{print $NF}'
+ awk -F. '{print $1}'
[Pipeline] echo
platoon_core对应的real_name: platoon_core
[Pipeline] withCredentials
Masking supported pattern matches of $gitlabToken
[Pipeline] {
[Pipeline] httpRequest
Warning: A secret was passed to "httpRequest" using Groovy String interpolation, which is insecure.
Affected argument(s) used the following variable(s): [gitlabToken]
See https://jenkins.io/redirect/groovy-string-interpolation for details.
HttpMethod: GET
URL: http://159.27.226.4/api/v4/projects?search=platoon_core&per_page=100
Content-Type: application/json
PRIVATE-TOKEN: *****
Sending request to url: http://159.27.226.4/api/v4/projects?search=platoon_core&per_page=100
Response Code: HTTP/1.1 200 OK
Response:
[{"id":2332,"description":"","name":"platoon_core","name_with_namespace":"System / platoon_core","path":"platoon_core","path_with_namespace":"system/platoon_core","created_at":"2026-05-27T02:34:03.365Z","default_branch":"master","tag_list":[],"topics":[],"ssh_url_to_repo":"git@159.27.226.4:system/platoon_core.git","http_url_to_repo":"http://159.27.226.4/system/platoon_core.git","web_url":"http://159.27.226.4/system/platoon_core","readme_url":null,"avatar_url":null,"forks_count":0,"star_count":0,"last_activity_at":"2026-11-12T06:32:07.709Z","namespace":{"id":14,"name":"System","path":"system","kind":"group","full_path":"system","parent_id":null,"avatar_url":null,"web_url":"http://159.27.226.4/groups/system"},"_links":{"self":"http://159.27.226.4/api/v4/projects/2332","issues":"http://159.27.226.4/api/v4/projects/2332/issues","merge_requests":"http://159.27.226.4/api/v4/projects/2332/merge_requests","repo_branches":"http://159.27.226.4/api/v4/projects/2332/repository/branches","labels":"http://159.27.226.4/api/v4/projects/2332/labels","events":"http://159.27.226.4/api/v4/projects/2332/events","members":"http://159.27.226.4/api/v4/projects/2332/members","cluster_agents":"http://159.27.226.4/api/v4/projects/2332/cluster_agents"},"packages_enabled":true,"empty_repo":false,"archived":false,"visibility":"private","resolve_outdated_diff_discussions":false,"container_expiration_policy":{"cadence":"1d","enabled":false,"keep_n":10,"older_than":"90d","name_regex":".*","name_regex_keep":null,"next_run_at":"2026-05-28T02:34:03.402Z"},"issues_enabled":true,"merge_requests_enabled":true,"wiki_enabled":true,"jobs_enabled":true,"snippets_enabled":true,"container_registry_enabled":true,"service_desk_enabled":false,"service_desk_address":null,"can_create_merge_request_in":true,"issues_access_level":"enabled","repository_access_level":"enabled","merge_requests_access_level":"enabled","forking_access_level":"enabled","wiki_access_level":"enabled","builds_access_level":"enabled","snippets_access_level":"enabled","pages_access_level":"private","operations_access_level":"enabled","analytics_access_level":"enabled","container_registry_access_level":"enabled","security_and_compliance_access_level":"private","emails_disabled":null,"shared_runners_enabled":true,"lfs_enabled":true,"creator_id":142,"import_status":"none","open_issues_count":0,"ci_default_git_depth":20,"ci_forward_deployment_enabled":true,"ci_job_token_scope_enabled":false,"ci_separated_caches":true,"public_jobs":true,"build_timeout":3600,"auto_cancel_pending_pipelines":"enabled","build_coverage_regex":null,"ci_config_path":null,"shared_with_groups":[],"only_allow_merge_if_pipeline_succeeds":false,"allow_merge_on_skipped_pipeline":null,"restrict_user_defined_variables":false,"request_access_enabled":true,"only_allow_merge_if_all_discussions_are_resolved":false,"remove_source_branch_after_merge":true,"printing_merge_request_link_enabled":true,"merge_method":"merge","squash_option":"default_off","enforce_auth_checks_on_uploads":true,"suggestion_commit_message":null,"merge_commit_template":null,"squash_commit_template":null,"auto_devops_enabled":true,"auto_devops_deploy_strategy":"continuous","autoclose_referenced_issues":true,"keep_latest_artifact":true,"runner_token_expiration_interval":null,"permissions":{"project_access":{"access_level":30,"notification_level":3},"group_access":null}}]
Success: Status code 200 is in the accepted range: 100:399
[Pipeline] }
[Pipeline] // withCredentials
[Pipeline] readJSON
[Pipeline] echo
system/platoon_core
[Pipeline] echo
2332
[Pipeline] echo
platoon_core对应的projectId: 2332
[Pipeline] withCredentials
Masking supported pattern matches of $gitlabToken
[Pipeline] {
[Pipeline] httpRequest
Warning: A secret was passed to "httpRequest" using Groovy String interpolation, which is insecure.
Affected argument(s) used the following variable(s): [gitlabToken]
See https://jenkins.io/redirect/groovy-string-interpolation for details.
HttpMethod: GET
URL: http://159.27.226.4/api/v4/projects/2332/repository/commits/58358d0
Content-Type: application/json
PRIVATE-TOKEN: *****
Sending request to url: http://159.27.226.4/api/v4/projects/2332/repository/commits/58358d0
Response Code: HTTP/1.1 200 OK
Response:
{"id":"58358d03c9eaee4f4a3cdeb94db6ed3c4a8c97b3","short_id":"58358d03","created_at":"2026-11-12T14:30:40.000+08:00","parent_ids":["3d72be198741bc65dcd705b85a639e54cfd1907b"],"title":"feat(platoon): 打通可靠变道通知、PNC反馈和HMI状态链路","message":"feat(platoon): 打通可靠变道通知、PNC反馈和HMI状态链路\n\n独立协议与 V2V 路由\n- 新增 LaneChange Proto,使用消息 ID 3 和 Frame.lane_change 字段 22,承载 Request、Ack 和 Result。\n- 使用编队 ID、请求 UUID、领航进程 session 和递增业务序号关联一次操作,明确请求送达与结果送达两类 ACK。\n- 扩展消息模型、Protobuf 生成、Adapter、Codec、Validator、Router 和 OBU 紧急发送链路。\n- 每次实际发送分配新的传输帧序号,重传仍保留原业务标识;变道去重先于普通帧序号过滤,支持旧帧重确认。\n- 不复用 COPMM 分支或事务队列,不改变既有编队创建、加入、退出和解散流程。\n\n变道会话与可靠性\n- 仅允许有效且处于 IDLE 的领航车发起请求,固定本次其他成员列表,分别维护每辆后车的送达和应用状态。\n- 请求与结果每 200 毫秒有限重发,最多 5 次,最终送达确认期限为 1000 毫秒;本地入队失败显式报告并消耗预算。\n- ACK 本身不跟踪,依靠重复请求或结果触发重 ACK;重复请求不会重复发布 ROS 命令。\n- 收到逐车请求 ACK 后启动该车 5 秒应用超时,结果先于 ACK 到达同样视为已送达。\n- 区分未确认送达与已送达但应用无结果,不在协议中伪造 TIMEOUT,应用超时由领航端独立生成。\n- 实现 5 秒冷却、30 秒展示、请求覆盖、结果缓存、UUID 去重和 session 高水位保护。\n- 迟到或重复结果只做必要确认,不复活超时、取消或已覆盖的业务状态;容量耗尽显式拒绝。\n- 角色、编队、领头身份或运行上下文失效时取消会话,成员移除时停止对应重试和计时。\n\nROS PNC 桥接与持久序号\n- 增加 ads_msgs 依赖及 LaneChangeRosBridge,使用现有 ROS node 和 executor。\n- 后车发布 /cloud/pnc/pnc_command,左、右变道 cmd_type 分别为 5、6,领头车不向自身发布。\n- 发布前先持久化递增 seq_id,使用跨进程锁、临时文件、fsync 和原子替换保存高水位;失败不发布,发布失败也不复用序号。\n- 订阅 /vehicle/pnc/pnc_command_states,按 id 和 cmd_type 关联反馈;RECEIVE、EXECUTING 保持等待,SUCCESS 映射就绪,ERROR 映射拒绝并附原因。\n- 通过真实 V2V Result 将后车结果回传领航车,并等待结果 ACK;发布和反馈回调避免生命周期锁重入。\n- 支持显式 ros 与 stub_success 模式,错误配置和发布失败不回退模拟成功。\n- 保留早期默认 stub_success:仍先发布真实 ROS 命令,再产生带模拟原因的就绪反馈。\n- 将 cmd_value 和持久化路径加入配置,明确默认 cmd_value=true 仍需与 PNC 确认。\n\nHMI 接口、文档与测试\n- 接收 lane_change JSON 指令,周期状态输出请求、方向、展示和冷却剩余时间及逐车 delivery/status/reason。\n- 区分命令拒绝、传输失败和业务状态告警,避免已接受请求因运行期告警被误清空。\n- 补充协议、字段映射、部署配置、功能边界和可复现验证文档。\n- 增加独立会话及持久序号测试,覆盖编解码、丢 ACK、重复与乱序、逐车期限、冷却覆盖、上下文变化及文件异常。\n- 增加 ROS 和 Router 集成测试,覆盖真实 Command/CommandStates 关联、模拟发布顺序、第三类消息路由和 HMI JSON。\n\n提交前验证\n- 独立 C++ 构建和 CTest 通过,13 组变道测试全部通过。\n- 原有 Protobuf 编解码样例通过,保留既有 COPMM 15 个分支的往返验证。\n\n本功能只提供变道通知与就绪反馈,不输出转向控制。真实车辆使用前需切换 ros 模式、确认 PNC 字段语义并完成 OBU 与 PNC 联调;持久序号不保证与外部发布器全局唯一。\n","author_name":"haoxiangtao@senior.auto","author_email":"taoge@God.localdomain","authored_date":"2026-11-12T14:30:40.000+08:00","committer_name":"haoxiangtao@senior.auto","committer_email":"taoge@God.localdomain","committed_date":"2026-11-12T14:30:40.000+08:00","trailers":{},"web_url":"http://159.27.226.4/system/platoon_core/-/commit/58358d03c9eaee4f4a3cdeb94db6ed3c4a8c97b3","stats":{"additions":2091,"deletions":49,"total":2140},"status":null,"project_id":2332,"last_pipeline":null}
Success: Status code 200 is in the accepted range: 100:399
[Pipeline] }
[Pipeline] // withCredentials
[Pipeline] readJSON
[Pipeline] echo
当前 rc_dev_proto 分支 58358d0 提交时间: 2026/11/12/14:30:40
[Pipeline] fileExists
[Pipeline] readFile
[Pipeline] echo
27bf949
[Pipeline] sh
+ python3 /home/nvidia/weilk/project/get_git_log.py 2332 27bf949 58358d0
[Pipeline] writeFile
[Pipeline] }
[Pipeline] // dir
[Pipeline] echo
{"repo_name":"platoon_core","branch":"rc_dev_proto","time":"2026-11-12_14-34-21","commit_id":"58358d0","version":"","commit_msgs":"5LyY5YyWbG9n,,"}
[Pipeline] echo
> - <font color=#FF5151> [platoon_core]: **rc_dev_proto**.58358d0.**2026/11/12/14:30:40**</font>
[Pipeline] echo
[platoon_core]
[Pipeline] dir
Running in /senior/workspace/orin-module-ros2/src/shared_msgs
[Pipeline] {
[Pipeline] sh
+ git rev-parse --short HEAD
[Pipeline] echo
shared_msgs当前commitId: 366e1c9
[Pipeline] sh
+ git symbolic-ref --short -q HEAD
[Pipeline] echo
shared_msgs当前模块分支为: dev_ros2
[Pipeline] sh
+ git remote -v
+ grep push
+ cut -d / -f 4-
+ awk -F. '{print $(NF-1)}'
[Pipeline] echo
shared_msgs对应的path_name: shared/shared_msgs
[Pipeline] sh
+ git remote -v
+ grep push
+ awk -F/ '{print $NF}'
+ awk -F. '{print $1}'
[Pipeline] echo
shared_msgs对应的real_name: shared_msgs
[Pipeline] withCredentials
Masking supported pattern matches of $gitlabToken
[Pipeline] {
[Pipeline] httpRequest
Warning: A secret was passed to "httpRequest" using Groovy String interpolation, which is insecure.
Affected argument(s) used the following variable(s): [gitlabToken]
See https://jenkins.io/redirect/groovy-string-interpolation for details.
HttpMethod: GET
URL: http://159.27.226.4/api/v4/projects?search=shared_msgs&per_page=100
Content-Type: application/json
PRIVATE-TOKEN: *****
Sending request to url: http://159.27.226.4/api/v4/projects?search=shared_msgs&per_page=100
Response Code: HTTP/1.1 200 OK
Response:
[{"id":242,"description":"","name":"shared_msgs","name_with_namespace":"CI / shared_msgs","path":"shared_msgs","path_with_namespace":"ci/shared_msgs","created_at":"2022-01-20T05:54:07.461Z","default_branch":"master","tag_list":[],"topics":[],"ssh_url_to_repo":"git@159.27.226.4:ci/shared_msgs.git","http_url_to_repo":"http://159.27.226.4/ci/shared_msgs.git","web_url":"http://159.27.226.4/ci/shared_msgs","readme_url":"http://159.27.226.4/ci/shared_msgs/-/blob/master/README.md","avatar_url":null,"forks_count":0,"star_count":0,"last_activity_at":"2023-03-30T09:51:10.196Z","namespace":{"id":77,"name":"CI","path":"ci","kind":"group","full_path":"ci","parent_id":null,"avatar_url":null,"web_url":"http://159.27.226.4/groups/ci"},"_links":{"self":"http://159.27.226.4/api/v4/projects/242","issues":"http://159.27.226.4/api/v4/projects/242/issues","merge_requests":"http://159.27.226.4/api/v4/projects/242/merge_requests","repo_branches":"http://159.27.226.4/api/v4/projects/242/repository/branches","labels":"http://159.27.226.4/api/v4/projects/242/labels","events":"http://159.27.226.4/api/v4/projects/242/events","members":"http://159.27.226.4/api/v4/projects/242/members","cluster_agents":"http://159.27.226.4/api/v4/projects/242/cluster_agents"},"packages_enabled":true,"empty_repo":false,"archived":false,"visibility":"private","resolve_outdated_diff_discussions":false,"container_expiration_policy":{"cadence":"1d","enabled":false,"keep_n":10,"older_than":"90d","name_regex":".*","name_regex_keep":null,"next_run_at":"2022-01-21T05:54:07.476Z"},"issues_enabled":true,"merge_requests_enabled":true,"wiki_enabled":true,"jobs_enabled":true,"snippets_enabled":true,"container_registry_enabled":true,"service_desk_enabled":false,"service_desk_address":null,"can_create_merge_request_in":true,"issues_access_level":"enabled","repository_access_level":"enabled","merge_requests_access_level":"enabled","forking_access_level":"enabled","wiki_access_level":"enabled","builds_access_level":"enabled","snippets_access_level":"enabled","pages_access_level":"private","operations_access_level":"enabled","analytics_access_level":"enabled","container_registry_access_level":"enabled","security_and_compliance_access_level":"private","emails_disabled":null,"shared_runners_enabled":true,"lfs_enabled":true,"creator_id":5,"import_url":"http://101.201.148.201/shared/shared_msgs.git","import_type":"git","import_status":"finished","open_issues_count":0,"ci_default_git_depth":50,"ci_forward_deployment_enabled":true,"ci_job_token_scope_enabled":false,"ci_separated_caches":true,"public_jobs":true,"build_timeout":3600,"auto_cancel_pending_pipelines":"enabled","build_coverage_regex":null,"ci_config_path":null,"shared_with_groups":[],"only_allow_merge_if_pipeline_succeeds":false,"allow_merge_on_skipped_pipeline":null,"restrict_user_defined_variables":false,"request_access_enabled":true,"only_allow_merge_if_all_discussions_are_resolved":false,"remove_source_branch_after_merge":true,"printing_merge_request_link_enabled":true,"merge_method":"merge","squash_option":"default_off","enforce_auth_checks_on_uploads":true,"suggestion_commit_message":null,"merge_commit_template":null,"squash_commit_template":null,"auto_devops_enabled":true,"auto_devops_deploy_strategy":"continuous","autoclose_referenced_issues":true,"keep_latest_artifact":true,"runner_token_expiration_interval":null,"permissions":{"project_access":null,"group_access":{"access_level":50,"notification_level":3}}},{"id":16,"description":"外部共享的消息","name":"shared_msgs","name_with_namespace":"Shared / shared_msgs","path":"shared_msgs","path_with_namespace":"shared/shared_msgs","created_at":"2020-05-22T00:51:49.372Z","default_branch":"master","tag_list":[],"topics":[],"ssh_url_to_repo":"git@159.27.226.4:shared/shared_msgs.git","http_url_to_repo":"http://159.27.226.4/shared/shared_msgs.git","web_url":"http://159.27.226.4/shared/shared_msgs","readme_url":null,"avatar_url":null,"forks_count":0,"star_count":1,"last_activity_at":"2026-11-11T06:53:34.761Z","namespace":{"id":15,"name":"Shared","path":"shared","kind":"group","full_path":"shared","parent_id":null,"avatar_url":null,"web_url":"http://159.27.226.4/groups/shared"},"_links":{"self":"http://159.27.226.4/api/v4/projects/16","issues":"http://159.27.226.4/api/v4/projects/16/issues","merge_requests":"http://159.27.226.4/api/v4/projects/16/merge_requests","repo_branches":"http://159.27.226.4/api/v4/projects/16/repository/branches","labels":"http://159.27.226.4/api/v4/projects/16/labels","events":"http://159.27.226.4/api/v4/projects/16/events","members":"http://159.27.226.4/api/v4/projects/16/members","cluster_agents":"http://159.27.226.4/api/v4/projects/16/cluster_agents"},"packages_enabled":null,"empty_repo":false,"archived":false,"visibility":"private","resolve_outdated_diff_discussions":false,"container_expiration_policy":{"cadence":"7d","enabled":false,"keep_n":null,"older_than":null,"name_regex":null,"name_regex_keep":null,"next_run_at":"2021-12-19T09:50:27.240Z"},"issues_enabled":true,"merge_requests_enabled":true,"wiki_enabled":true,"jobs_enabled":true,"snippets_enabled":true,"container_registry_enabled":true,"service_desk_enabled":false,"service_desk_address":null,"can_create_merge_request_in":true,"issues_access_level":"enabled","repository_access_level":"enabled","merge_requests_access_level":"enabled","forking_access_level":"enabled","wiki_access_level":"enabled","builds_access_level":"enabled","snippets_access_level":"enabled","pages_access_level":"private","operations_access_level":"enabled","analytics_access_level":"enabled","container_registry_access_level":"enabled","security_and_compliance_access_level":"private","emails_disabled":null,"shared_runners_enabled":true,"lfs_enabled":true,"creator_id":1,"import_status":"finished","open_issues_count":0,"ci_default_git_depth":50,"ci_forward_deployment_enabled":true,"ci_job_token_scope_enabled":false,"ci_separated_caches":true,"public_jobs":true,"build_timeout":3600,"auto_cancel_pending_pipelines":"enabled","build_coverage_regex":null,"ci_config_path":null,"shared_with_groups":[{"group_id":8,"group_name":"Lidar","group_full_path":"lidar","group_access_level":30,"expires_at":null},{"group_id":12,"group_name":"Map","group_full_path":"map","group_access_level":30,"expires_at":null}],"only_allow_merge_if_pipeline_succeeds":false,"allow_merge_on_skipped_pipeline":null,"restrict_user_defined_variables":false,"request_access_enabled":true,"only_allow_merge_if_all_discussions_are_resolved":false,"remove_source_branch_after_merge":false,"printing_merge_request_link_enabled":true,"merge_method":"merge","squash_option":"default_off","enforce_auth_checks_on_uploads":true,"suggestion_commit_message":"","merge_commit_template":null,"squash_commit_template":null,"auto_devops_enabled":true,"auto_devops_deploy_strategy":"continuous","autoclose_referenced_issues":true,"keep_latest_artifact":true,"runner_token_expiration_interval":null,"permissions":{"project_access":{"access_level":20,"notification_level":3},"group_access":null}}]
Success: Status code 200 is in the accepted range: 100:399
[Pipeline] }
[Pipeline] // withCredentials
[Pipeline] readJSON
[Pipeline] echo
shared/shared_msgs
[Pipeline] echo
16
[Pipeline] echo
shared_msgs对应的projectId: 16
[Pipeline] withCredentials
Masking supported pattern matches of $gitlabToken
[Pipeline] {
[Pipeline] httpRequest
Warning: A secret was passed to "httpRequest" using Groovy String interpolation, which is insecure.
Affected argument(s) used the following variable(s): [gitlabToken]
See https://jenkins.io/redirect/groovy-string-interpolation for details.
HttpMethod: GET
URL: http://159.27.226.4/api/v4/projects/16/repository/commits/366e1c9
Content-Type: application/json
PRIVATE-TOKEN: *****
Sending request to url: http://159.27.226.4/api/v4/projects/16/repository/commits/366e1c9
Response Code: HTTP/1.1 200 OK
Response:
{"id":"366e1c9715624e15d258473668783f2d8e88d0af","short_id":"366e1c97","created_at":"2026-11-02T01:23:07.000-08:00","parent_ids":["4d7b2bf7d737f0ede00defe35e7d0af8fb7f5490"],"title":"feat(perception_msgs): add LkaLane for the lane detection -\u003e lateral control interface","message":"feat(perception_msgs): add LkaLane for the lane detection -\u003e lateral control interface\n\nThe ego-lane centreline that lane_detection publishes on /lane_detection/lka_lane,\nmoved here so downstream can depend on perception_msgs instead of the whole\nlane_detection package. Fields and constants are identical to the current\nlane_detection/msg/LkaLane, so the wire layout is unchanged; only the type name\nmoves to perception_msgs/msg/LkaLane.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","author_name":"hongjinjin","author_email":"hongjinjin@senior.auto","authored_date":"2026-11-02T01:21:58.000-08:00","committer_name":"hongjinjin","committer_email":"hongjinjin@senior.auto","committed_date":"2026-11-02T01:23:07.000-08:00","trailers":{},"web_url":"http://159.27.226.4/shared/shared_msgs/-/commit/366e1c9715624e15d258473668783f2d8e88d0af","stats":{"additions":73,"deletions":0,"total":73},"status":null,"project_id":16,"last_pipeline":null}
Success: Status code 200 is in the accepted range: 100:399
[Pipeline] }
[Pipeline] // withCredentials
[Pipeline] readJSON
[Pipeline] echo
当前 dev_ros2 分支 366e1c9 提交时间: 2026/11/02/01:23:07
[Pipeline] fileExists
[Pipeline] readFile
[Pipeline] echo
366e1c9
[Pipeline] sh
+ python3 /home/nvidia/weilk/project/get_git_log.py 16 366e1c9 366e1c9
[Pipeline] writeFile
[Pipeline] }
[Pipeline] // dir
[Pipeline] echo
{"repo_name":"shared_msgs","branch":"dev_ros2","time":"2026-11-12_14-34-21","commit_id":"366e1c9","version":"","commit_msgs":",,"}
[Pipeline] echo
> - <font color=#FF5151> [platoon_core]: **rc_dev_proto**.58358d0.**2026/11/12/14:30:40**</font>
> - <font color=#FF5151> [shared_msgs]: **dev_ros2**.366e1c9.**2026/11/02/01:23:07**</font>
[Pipeline] echo
最终生成的json文件内容: {"module":[{"repo_name":"platoon_core","branch":"rc_dev_proto","time":"2026-11-12_14-34-21","commit_id":"58358d0","version":"","commit_msgs":"5LyY5YyWbG9n,,"},{"repo_name":"shared_msgs","branch":"dev_ros2","time":"2026-11-12_14-34-21","commit_id":"366e1c9","version":"","commit_msgs":",,"}],"device":9,"device_name":"none","type":1,"project":0}
[Pipeline] sh
+ echo '{"module":[{"repo_name":"platoon_core","branch":"rc_dev_proto","time":"2026-11-12_14-34-21","commit_id":"58358d0","version":"","commit_msgs":"5LyY5YyWbG9n,,"},{"repo_name":"shared_msgs","branch":"dev_ros2","time":"2026-11-12_14-34-21","commit_id":"366e1c9","version":"","commit_msgs":",,"}],"device":9,"device_name":"none","type":1,"project":0}'
[Pipeline] echo
---------------------------------------------- 信息写入成功,开始编译 --------------------------------------------
[Pipeline] echo
> - <font color=#FF5151> [platoon_core]: **rc_dev_proto**.58358d0.**2026/11/12/14:30:40**</font>
> - <font color=#FF5151> [shared_msgs]: **dev_ros2**.366e1c9.**2026/11/02/01:23:07**</font>
[Pipeline] echo
[platoon_core]
[Pipeline] wrap
[Pipeline] {
[Pipeline] script
[Pipeline] {
[Pipeline] echo
user: , telphone: null
[Pipeline] echo
用户不存在列表中
[Pipeline] }
[Pipeline] // script
[Pipeline] sh
+ curl -X POST 'http://143.64.81.104:8080/robot/send?access_token=c4e318472bbd19d0449efb4060de213f730dc32b4bf44819381a8fa7adf61983' -H 'Content-Type: application/json' -d '{"msgtype": "markdown","markdown": {"title":"jenkins������","text": "# ������������������
### [Orin Ros2() ������������������������]
---
- ���������<font color=#01B468> ������������ </font>
- ������������haoxiangtao
- ������������[orin-module-ros2 #163]
- ������������:
> - <font color=#FF5151> [platoon_core]: **rc_dev_proto**.58358d0.**2026/11/12/14:30:40**</font>
> - <font color=#FF5151> [shared_msgs]: **dev_ros2**.366e1c9.**2026/11/02/01:23:07**</font>
---
(***���������������������������������������������������������������������������������������������������������������������������*** )"},"at": {"atMobiles": [""],"isAtAll": "false"} }'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 717 100 27 100 690 262 6699 --:--:-- --:--:-- --:--:-- 7029
[Pipeline] echo
{"errcode":0,"errmsg":"ok"}
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // script
[Pipeline] echo
[platoon_core]
[Pipeline] sh
+ cat /senior/workspace/orin-module-ros2/version.json
{"module":[{"repo_name":"platoon_core","branch":"rc_dev_proto","time":"2026-11-12_14-34-21","commit_id":"58358d0","version":"","commit_msgs":"5LyY5YyWbG9n,,"},{"repo_name":"shared_msgs","branch":"dev_ros2","time":"2026-11-12_14-34-21","commit_id":"366e1c9","version":"","commit_msgs":",,"}],"device":9,"device_name":"none","type":1,"project":0}
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (build)
[Pipeline] script
[Pipeline] {
[Pipeline] ansiColor
[Pipeline] {
[Pipeline] echo
>>>>>>>>>>执行打包>>>>>>>>>>
[Pipeline] }
[Pipeline] // ansiColor
[Pipeline] dir
Running in /senior/workspace/orin-module-ros2
[Pipeline] {
[Pipeline] echo
all
[Pipeline] sh
+ source /opt/ros/foxy/setup.bash
++ AMENT_SHELL=bash
++++ dirname /opt/ros/foxy/setup.bash
+++ builtin cd /opt/ros/foxy
+++ pwd
++ AMENT_CURRENT_PREFIX=/opt/ros/foxy
++ '[' -n '' ']'
++ . /opt/ros/foxy/setup.sh
+++ : /opt/ros/foxy
+++ : bash
+++ _prefix_setup_IFS='
'
+++ IFS='
'
+++ _UNIQUE_PREFIX_PATH=
+++ '[' -z SKIP_PARENT_PREFIX_PATH ']'
+++ ament_append_unique_value _UNIQUE_PREFIX_PATH /opt/ros/foxy
+++ _listname=_UNIQUE_PREFIX_PATH
+++ _value=/opt/ros/foxy
+++ eval '_values=$_UNIQUE_PREFIX_PATH'
++++ _values=
+++ _duplicate=
+++ _ament_append_unique_value_IFS='
'
+++ IFS=:
+++ '[' bash = zsh ']'
+++ unset _item
+++ '[' -z '' ']'
+++ '[' -z '' ']'
+++ eval '_UNIQUE_PREFIX_PATH="/opt/ros/foxy"'
++++ _UNIQUE_PREFIX_PATH=/opt/ros/foxy
+++ IFS='
'
+++ unset _ament_append_unique_value_IFS
+++ unset _duplicate
+++ unset _values
+++ unset _value
+++ unset _listname
+++ unset AMENT_CURRENT_PREFIX
+++ _prefix_setup_AMENT_SHELL=bash
+++ IFS=:
+++ '[' bash = zsh ']'
+++ for _path in $_UNIQUE_PREFIX_PATH
+++ '[' -n '' ']'
+++ '[' -f /opt/ros/foxy/local_setup.bash ']'
+++ '[' bash = sh ']'
+++ IFS='
'
+++ . /opt/ros/foxy/local_setup.bash
++++ AMENT_SHELL=bash
++++++ dirname /opt/ros/foxy/local_setup.bash
+++++ builtin cd /opt/ros/foxy
+++++ pwd
++++ AMENT_CURRENT_PREFIX=/opt/ros/foxy
++++ '[' -n '' ']'
++++ . /opt/ros/foxy/local_setup.sh
+++++ _ament_prefix_sh_AMENT_CURRENT_PREFIX=/opt/ros/foxy
+++++ '[' -z /opt/ros/foxy ']'
+++++ _ament_prefix_sh_AMENT_CURRENT_PREFIX=/opt/ros/foxy
+++++ : bash
+++++ _ament_python_executable=/usr/bin/python3
+++++ '[' -n '' ']'
+++++ '[' '!' -f /usr/bin/python3 ']'
+++++ _ament_additional_extension=
+++++ '[' bash '!=' sh ']'
+++++ _ament_additional_extension=bash
++++++ /usr/bin/python3 /opt/ros/foxy/_local_setup_util.py sh bash
+++++ _ament_ordered_commands='AMENT_CURRENT_PREFIX="/opt/ros/foxy" _ament_prefix_sh_source_script "/opt/ros/foxy/share/ros2cli/environment/ros2-argcomplete.bash"
AMENT_CURRENT_PREFIX="/opt/ros/foxy" _ament_prefix_sh_source_script "/opt/ros/foxy/share/ros_environment/environment/0.ros_distro_check.sh"
export ROS_DISTRO="foxy"
# export ROS_LOCALHOST_ONLY="0"
export ROS_PYTHON_VERSION="3"
export ROS_VERSION="2"'
+++++ unset _ament_additional_extension
+++++ unset _ament_python_executable
+++++ '[' -n '' ']'
+++++ eval 'AMENT_CURRENT_PREFIX="/opt/ros/foxy" _ament_prefix_sh_source_script "/opt/ros/foxy/share/ros2cli/environment/ros2-argcomplete.bash"
AMENT_CURRENT_PREFIX="/opt/ros/foxy" _ament_prefix_sh_source_script "/opt/ros/foxy/share/ros_environment/environment/0.ros_distro_check.sh"
export ROS_DISTRO="foxy"
# export ROS_LOCALHOST_ONLY="0"
export ROS_PYTHON_VERSION="3"
export ROS_VERSION="2"'
++++++ AMENT_CURRENT_PREFIX=/opt/ros/foxy
++++++ _ament_prefix_sh_source_script /opt/ros/foxy/share/ros2cli/environment/ros2-argcomplete.bash
++++++ '[' -f /opt/ros/foxy/share/ros2cli/environment/ros2-argcomplete.bash ']'
++++++ '[' -n '' ']'
++++++ . /opt/ros/foxy/share/ros2cli/environment/ros2-argcomplete.bash
+++++++ type register-python-argcomplete3
++++++++ register-python-argcomplete3 ros2
+++++++ eval '
_python_argcomplete() {
local IFS=$'\''\013'\''
local SUPPRESS_SPACE=0
if compopt +o nospace 2> /dev/null; then
SUPPRESS_SPACE=1
fi
COMPREPLY=( $(IFS="$IFS" \
COMP_LINE="$COMP_LINE" \
COMP_POINT="$COMP_POINT" \
COMP_TYPE="$COMP_TYPE" \
_ARGCOMPLETE_COMP_WORDBREAKS="$COMP_WORDBREAKS" \
_ARGCOMPLETE=1 \
_ARGCOMPLETE_SUPPRESS_SPACE=$SUPPRESS_SPACE \
"$1" 8>&1 9>&2 1>/dev/null 2>/dev/null) )
if [[ $? != 0 ]]; then
unset COMPREPLY
elif [[ $SUPPRESS_SPACE == 1 ]] && [[ "$COMPREPLY" =~ [=/:]$ ]]; then
compopt -o nospace
fi
}
complete -o nospace -o default -F _python_argcomplete "ros2"'
++++++++ complete -o nospace -o default -F _python_argcomplete ros2
++++++ AMENT_CURRENT_PREFIX=/opt/ros/foxy
++++++ _ament_prefix_sh_source_script /opt/ros/foxy/share/ros_environment/environment/0.ros_distro_check.sh
++++++ '[' -f /opt/ros/foxy/share/ros_environment/environment/0.ros_distro_check.sh ']'
++++++ '[' -n '' ']'
++++++ . /opt/ros/foxy/share/ros_environment/environment/0.ros_distro_check.sh
+++++++ '[' -n foxy -a foxy '!=' foxy ']'
++++++ export ROS_DISTRO=foxy
++++++ ROS_DISTRO=foxy
++++++ export ROS_PYTHON_VERSION=3
++++++ ROS_PYTHON_VERSION=3
++++++ export ROS_VERSION=2
++++++ ROS_VERSION=2
+++++ unset _ament_ordered_commands
+++++ unset _ament_prefix_sh_source_script
+++++ unset _ament_prefix_sh_AMENT_CURRENT_PREFIX
+++ AMENT_SHELL=bash
+++ unset _path
+++ IFS='
'
+++ unset _prefix_setup_IFS
+++ unset _prefix_setup_AMENT_SHELL
+++ unset _UNIQUE_PREFIX_PATH
+++ unset AMENT_SHELL
+ colcon build --parallel-workers 15
Starting >>> comm_msgs
Starting >>> diagnose_msgs
Starting >>> hdmap_cloud_msgs
Starting >>> perception_msgs
Starting >>> localization_msgs
Starting >>> msf_localization_msgs
Starting >>> platoon_msgs
Starting >>> align_msgs
Starting >>> cloud_msgs
Starting >>> hdmap_msgs
Starting >>> peripheral_msgs
Starting >>> port_msgs
Starting >>> simulate_msgs
Starting >>> spreader_msgs
Starting >>> v2x_msgs
Finished <<< simulate_msgs [18.5s]
Starting >>> visual_msgs
Finished <<< spreader_msgs [20.1s]
Finished <<< diagnose_msgs [24.2s]
Finished <<< port_msgs [25.2s]
Finished <<< platoon_msgs [26.6s]
Finished <<< v2x_msgs [27.7s]
Finished <<< localization_msgs [27.8s]
Finished <<< align_msgs [29.9s]
Finished <<< msf_localization_msgs [30.1s]
Finished <<< peripheral_msgs [46.4s]
Finished <<< perception_msgs [47.3s]
Finished <<< visual_msgs [31.9s]
Finished <<< cloud_msgs [50.9s]
Finished <<< hdmap_cloud_msgs [54.3s]
Finished <<< hdmap_msgs [56.1s]
Finished <<< comm_msgs [1min 5s]
Starting >>> vehicle_msgs
Starting >>> ads_msgs
Starting >>> prediction_msgs
Starting >>> tos_msgs
Finished <<< prediction_msgs [8.60s]
Finished <<< tos_msgs [26.4s]
Finished <<< vehicle_msgs [26.8s]
Starting >>> guardian_msgs
Starting >>> pnc_debug_msg
Finished <<< ads_msgs [33.4s]
Starting >>> platoon_core_proto
Finished <<< guardian_msgs [12.4s]
Finished <<< pnc_debug_msg [14.5s]
--- stderr: platoon_core_proto
platoon/v1/asn_types.proto:1114:5: warning: Enum name ASN_prec0_1deg has the same name as ASN_prec01deg if you ignore case and strip out the enum name prefix (if any). This is error-prone and can lead to undefined behavior. Please avoid doing this. If you are using allow_alias, please assign the same numeric value to both enums.
/senior/workspace/orin-module-ros2/src/platoon_core/src/platoon/JoinRequestManager.cpp: In static member function ���static senior::platoon::JoinRequestManager::ReceiveResult senior::platoon::JoinRequestManager::receive(std::deque<senior::platoon::JoinRequest>&, std::vector<senior::platoon::PlatoonMember>&, const string&, uint8_t)���:
/senior/workspace/orin-module-ros2/src/platoon_core/src/platoon/JoinRequestManager.cpp:20:13: warning: unused parameter ���transaction_id��� [-Wunused-parameter]
20 | uint8_t transaction_id) {
| ~~~~~~~~^~~~~~~~~~~~~~
/senior/workspace/orin-module-ros2/src/platoon_core/src/platoon/PlatoonCore.cpp: In member function ���bool senior::platoon::PlatoonCore::joinPlatoon(const string&, const senior::platoon::NearbyPlatoon&)���:
/senior/workspace/orin-module-ros2/src/platoon_core/src/platoon/PlatoonCore.cpp:223:9: warning: missing initializer for member ���senior::platoon::PendingCopmmTx::preceding_vehicle_id��� [-Wmissing-field-initializers]
223 | });
| ^
/senior/workspace/orin-module-ros2/src/platoon_core/src/platoon/PlatoonCore.cpp: In member function ���bool senior::platoon::PlatoonCore::joinPlatoonById(const string&)���:
/senior/workspace/orin-module-ros2/src/platoon_core/src/platoon/PlatoonCore.cpp:245:17: warning: missing initializer for member ���senior::platoon::PendingCopmmTx::preceding_vehicle_id��� [-Wmissing-field-initializers]
245 | });
| ^
/senior/workspace/orin-module-ros2/src/platoon_core/src/platoon/PlatoonCore.cpp: In member function ���bool senior::platoon::PlatoonCore::inviteVehicle(const string&)���:
/senior/workspace/orin-module-ros2/src/platoon_core/src/platoon/PlatoonCore.cpp:379:5: warning: missing initializer for member ���senior::platoon::PendingCopmmTx::preceding_vehicle_id��� [-Wmissing-field-initializers]
379 | });
| ^
/senior/workspace/orin-module-ros2/src/platoon_core/src/platoon/PlatoonCore.cpp: In member function ���std::string senior::platoon::PlatoonCore::receiveJoinRequestCopmm(const string&, uint8_t)���:
/senior/workspace/orin-module-ros2/src/platoon_core/src/platoon/PlatoonCore.cpp:432:9: warning: missing initializer for member ���senior::platoon::PendingCopmmTx::preceding_vehicle_id��� [-Wmissing-field-initializers]
432 | });
| ^
/senior/workspace/orin-module-ros2/src/platoon_core/src/platoon/PlatoonCore.cpp: In member function ���bool senior::platoon::PlatoonCore::processCopmmJoiningCommand(const string&, const string&, uint8_t, bool, bool, const string&)���:
/senior/workspace/orin-module-ros2/src/platoon_core/src/platoon/PlatoonCore.cpp:578:13: warning: missing initializer for member ���senior::platoon::PendingCopmmTx::preceding_vehicle_id��� [-Wmissing-field-initializers]
578 | });
| ^
/senior/workspace/orin-module-ros2/src/platoon_core/src/platoon/PlatoonCore.cpp: In member function ���bool senior::platoon::PlatoonCore::processCopmmJoiningInvitation(const string&, const string&, uint8_t)���:
/senior/workspace/orin-module-ros2/src/platoon_core/src/platoon/PlatoonCore.cpp:918:9: warning: missing initializer for member ���senior::platoon::PendingCopmmTx::preceding_vehicle_id��� [-Wmissing-field-initializers]
918 | });
| ^
/senior/workspace/orin-module-ros2/src/platoon_core/src/platoon/PlatoonCore.cpp:937:9: warning: missing initializer for member ���senior::platoon::PendingCopmmTx::preceding_vehicle_id��� [-Wmissing-field-initializers]
937 | });
| ^
/senior/workspace/orin-module-ros2/src/platoon_core/src/platoon/PlatoonCore.cpp:951:5: warning: missing initializer for member ���senior::platoon::PendingCopmmTx::preceding_vehicle_id��� [-Wmissing-field-initializers]
951 | });
| ^
---
[Processing: platoon_core_proto]
[Processing: platoon_core_proto]
Finished <<< platoon_core_proto [1min 18s]
Summary: 23 packages finished [2min 58s]
1 package had stderr output: platoon_core_proto
[Pipeline] sh
+ mkdir -p /senior/workspace/orin-module-ros2/src/hdmap_analysis
[Pipeline] dir
Running in /senior/workspace/orin-module-ros2/src/hdmap_analysis
[Pipeline] {
[Pipeline] checkout
The recommended git tool is: NONE
using credential gitlab_ota
Cloning the remote Git repository
Avoid second fetch
Checking out Revision 95ec724887af1b240b58915e6d1946ca3d6f4520 (origin/rc_dev)
Commit message: "Merge branch 'revert-1344c0e2' into 'rc_dev'"
Cloning repository http://159.27.226.4/map/hdmap_analysis.git
> git init /senior/workspace/orin-module-ros2/src/hdmap_analysis # timeout=10
Fetching upstream changes from http://159.27.226.4/map/hdmap_analysis.git
> git --version # timeout=10
> git --version # 'git version 2.25.1'
using GIT_ASKPASS to set credentials gitlab_ota
> git fetch --tags --force --progress -- http://159.27.226.4/map/hdmap_analysis.git +refs/heads/*:refs/remotes/origin/* # timeout=10
> git config remote.origin.url http://159.27.226.4/map/hdmap_analysis.git # timeout=10
> git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
> git rev-parse origin/rc_dev^{commit} # timeout=10
> git config core.sparsecheckout # timeout=10
> git checkout -f 95ec724887af1b240b58915e6d1946ca3d6f4520 # timeout=10
> git rev-list --no-walk 95ec724887af1b240b58915e6d1946ca3d6f4520 # timeout=10
[Pipeline] sh
+ mkdir -p /senior/workspace/orin-module-ros2/install/lib/hdmap_analysis
[Pipeline] sh
+ cp -r /senior/workspace/orin-module-ros2/src/hdmap_analysis/embedding_in_qt_sgskip.py /senior/workspace/orin-module-ros2/src/hdmap_analysis/hdmap.py /senior/workspace/orin-module-ros2/src/hdmap_analysis/hdmap_analysis.py /senior/workspace/orin-module-ros2/src/hdmap_analysis/hdmap_polygon_selector.py /senior/workspace/orin-module-ros2/src/hdmap_analysis/header.py /senior/workspace/orin-module-ros2/src/hdmap_analysis/junction.py /senior/workspace/orin-module-ros2/src/hdmap_analysis/lane.py /senior/workspace/orin-module-ros2/src/hdmap_analysis/log_loader.py /senior/workspace/orin-module-ros2/src/hdmap_analysis/main_window.py /senior/workspace/orin-module-ros2/src/hdmap_analysis/map_loader.py /senior/workspace/orin-module-ros2/src/hdmap_analysis/object.py /senior/workspace/orin-module-ros2/src/hdmap_analysis/restricted_area.py /senior/workspace/orin-module-ros2/src/hdmap_analysis/table_model.py /senior/workspace/orin-module-ros2/install/lib/hdmap_analysis/
[Pipeline] }
[Pipeline] // dir
[Pipeline] echo
不编译pnc或者缺少依赖
[Pipeline] }
[Pipeline] // dir
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (zip->post)
[Pipeline] script
[Pipeline] {
[Pipeline] ansiColor
[Pipeline] {
[Pipeline] echo
>>>>>>>>>>压缩成zip包 / 仅重试 post>>>>>>>>>>
[Pipeline] }
[Pipeline] // ansiColor
[Pipeline] sh
+ test -d /senior/workspace/orin-module-ros2/install
[Pipeline] dir
Running in /senior/workspace/orin-module-ros2
[Pipeline] {
[Pipeline] sh
+ zip -rq module_ros2_2026-11-12_14-34-21.zip ./install/ ./version.json
[Pipeline] sh
+ ls /senior/workspace/orin-module-ros2
build
install
log
module_ros2_2026-11-12_14-34-21.zip
src
version.json
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /senior/workspace/orin-module-ros2@tmp
[Pipeline] echo
/senior/workspace/orin-module-ros2/module_ros2_2026-11-12_14-34-21.zip,/senior/workspace/orin-module-ros2/version.json
[Pipeline] echo
------------------- 开始上传公网ota ---------------------------------------------------------------------
[Pipeline] sh
+ curl -X POST http://ota.senior.auto/prod-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/senior/workspace/orin-module-ros2/module_ros2_2026-11-12_14-34-21.zip"' --form 'version=@"/senior/workspace/orin-module-ros2/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 13.9M 0 43 100 13.9M 44 14.5M --:--:-- --:--:-- --:--:-- 14.5M
100 13.9M 0 43 100 13.9M 44 14.5M --:--:-- --:--:-- --:--:-- 14.5M
[Pipeline] echo
{"msg":"������������","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:������������, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"������������","code":200,"data":""}
[Pipeline] echo
public
[Pipeline] echo
上传失败:[]
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Declarative: Post Actions)
[Pipeline] script
[Pipeline] {
[Pipeline] echo
always
[Pipeline] sh
+ rm -rf /senior/workspace/orin-module-ros2/.catkin_tools /senior/workspace/orin-module-ros2/build/ /senior/workspace/orin-module-ros2/install /senior/workspace/orin-module-ros2/logs/
[Pipeline] }
[Pipeline] // script
[Pipeline] script
[Pipeline] {
[Pipeline] sh
+ cp -r /senior/workspace/commit/orin-module-ros2_tmp/cache_bag_node /senior/workspace/commit/orin-module-ros2_tmp/camera_driver /senior/workspace/commit/orin-module-ros2_tmp/canRoute /senior/workspace/commit/orin-module-ros2_tmp/control /senior/workspace/commit/orin-module-ros2_tmp/hdmap_cloud /senior/workspace/commit/orin-module-ros2_tmp/hdmap_interface /senior/workspace/commit/orin-module-ros2_tmp/hesai_lidar /senior/workspace/commit/orin-module-ros2_tmp/mmWave /senior/workspace/commit/orin-module-ros2_tmp/msf_localization /senior/workspace/commit/orin-module-ros2_tmp/new_detection_highway /senior/workspace/commit/orin-module-ros2_tmp/node-manager /senior/workspace/commit/orin-module-ros2_tmp/node-manager-hmi /senior/workspace/commit/orin-module-ros2_tmp/orin-module-ros2 /senior/workspace/commit/orin-module-ros2_tmp/platoon_core /senior/workspace/commit/orin-module-ros2_tmp/pnc /senior/workspace/commit/orin-module-ros2_tmp/prediction /senior/workspace/commit/orin-module-ros2_tmp/rcinterpreter /senior/workspace/commit/orin-module-ros2_tmp/rminterpreter /senior/workspace/commit/orin-module-ros2_tmp/rslidar_sdk_new /senior/workspace/commit/orin-module-ros2_tmp/shared_msgs /senior/workspace/commit/orin-module-ros2_tmp/system-ros /senior/workspace/commit/orin-module-ros2_tmp/thirdparty /senior/workspace/commit/orin-module-ros2/
[Pipeline] sh
+ rm -rf /senior/workspace/commit/orin-module-ros2_tmp
[Pipeline] readJSON
[Pipeline] echo
优化log
[Pipeline] echo
webhtml准备完成
[Pipeline] echo
webhtml准备完成
[Pipeline] echo
<!DOCTYPE html><html><head><meta charset="utf-8"><title>msg2html</title></head><body><h1>更新内容</h1><h2>模块名: platoon_core</h2><h3>fix_out</h3><ul><li>优化log</li></ul><h2>模块名: shared_msgs</h2></body></html>
[Pipeline] echo
msg已经准备完成
[Pipeline] sh
+ touch /senior/workspace/orin-module-ros2/index.html
[Pipeline] writeFile
[Pipeline] echo
html更新完成
[Pipeline] publishHTML
[htmlpublisher] Archiving HTML reports...
[htmlpublisher] Archiving at BUILD level /senior/workspace/orin-module-ros2 to /var/lib/jenkins/jobs/orin-module-ros2/builds/163/htmlreports/update_20message
[Pipeline] wrap
[Pipeline] {
[Pipeline] script
[Pipeline] {
[Pipeline] echo
user: , telphone: null
[Pipeline] echo
用户不存在列表中
[Pipeline] }
[Pipeline] // script
[Pipeline] sh
+ curl -X POST 'http://143.64.81.104:8080/robot/send?access_token=c4e318472bbd19d0449efb4060de213f730dc32b4bf44819381a8fa7adf61983' -H 'Content-Type: application/json' -d '{"msgtype": "markdown","markdown": {"title":"jenkins������","text": "# ������������������
### [Orin Ros2() ������������������������]
---
- ������������ [module_ros2_2026-11-12_14-34-21]
- ���������<font color=#01B468> ������������ </font>
- ������������haoxiangtao
- ������������:
[platoon_core]
- ������������: public
- ���������: [orin-module-ros2 #163]
- ������������������������������ [���������������������������](http://jenkins.vehicle.senior.auto:8080/jenkins/job/orin-module-ros2/163/update_20message/index.html)
> ���ota������������������������������������������������������������������ "},"at": {"atMobiles": [""],"isAtAll": "false"} }'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 717 100 27 100 690 325 8313 --:--:-- --:--:-- --:--:-- 8638
[Pipeline] echo
{"errcode":0,"errmsg":"ok"}
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // timeout
[Pipeline] }
Lock released on resource [Label: orin-arm-ros2, Quantity: 1]
[Pipeline] // lock
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS