{"job_id":"daffa08d-860d-4b61-8b9d-a362dfaa30ad","filters":{"level":null,"component":null},"total":200,"logs":[{"seq":1,"level":"INFO","component":"agent","message":"[agent] 2026-08-18 10:26:49.991 [INFO] [agent:daffa08d] 🚀 CI 流水线启动","timestamp":"2026-08-18T10:26:49.991561+08:00"},{"seq":2,"level":"INFO","component":"git","message":"[git] 2026-08-18 10:26:49.991 [INFO] [git:daffa08d] cloning http://git.fanson.cloud/fanson/fscp-admin.git -> /app/data/workspace/daffa08d-860d-4b61-8b9d-a362dfaa30ad (branch=develop)","timestamp":"2026-08-18T10:26:49.991972+08:00"},{"seq":3,"level":"INFO","component":"git","message":"[git] 2026-08-18 10:26:52.355 [INFO] [git:daffa08d] Cloning into '/app/data/workspace/daffa08d-860d-4b61-8b9d-a362dfaa30ad'...","timestamp":"2026-08-18T10:26:52.355696+08:00"},{"seq":4,"level":"INFO","component":"git","message":"[git] 2026-08-18 10:26:52.355 [INFO] [git:daffa08d] git clone success: /app/data/workspace/daffa08d-860d-4b61-8b9d-a362dfaa30ad","timestamp":"2026-08-18T10:26:52.355819+08:00"},{"seq":5,"level":"INFO","component":"agent","message":"[agent] 2026-08-18 10:26:52.356 [INFO] [agent:daffa08d] 📦 代码已克隆到 /app/data/workspace/daffa08d-860d-4b61-8b9d-a362dfaa30ad","timestamp":"2026-08-18T10:26:52.356195+08:00"},{"seq":6,"level":"INFO","component":"orchestrator","message":"[orchestrator] 2026-08-18 10:26:52.358 [INFO] [orchestrator:daffa08d] 📋 发现 .ci.yml 配置文件，使用确定性构建流程","timestamp":"2026-08-18T10:26:52.358720+08:00"},{"seq":7,"level":"INFO","component":"orchestrator","message":"[orchestrator] 2026-08-18 10:26:52.885 [INFO] [orchestrator:daffa08d] 📝 检测到变更的目录: \"sql, \"sql/, fscp-common, fscp-common/fscp-common-core, fscp-modules, fscp-modules/fscp-billing","timestamp":"2026-08-18T10:26:52.885260+08:00"},{"seq":8,"level":"INFO","component":"git","message":"[git] 2026-08-18 10:26:52.888 [INFO] [git:daffa08d] 目录 fscp-gateway 代码指纹: 758e339","timestamp":"2026-08-18T10:26:52.889003+08:00"},{"seq":9,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:03.419 [INFO] [docker:daffa08d] 镜像已存在于 Registry: docker.fanson.cloud/fanson/fscp-gateway:develop-758e339（跳过构建）","timestamp":"2026-08-18T10:27:03.419803+08:00"},{"seq":10,"level":"INFO","component":"orchestrator","message":"[orchestrator] 2026-08-18 10:27:03.419 [INFO] [orchestrator:daffa08d] SKIP fanson/fscp-gateway (镜像 fanson/fscp-gateway:develop-758e339 已存在，代码指纹 758e339)","timestamp":"2026-08-18T10:27:03.419931+08:00"},{"seq":11,"level":"INFO","component":"git","message":"[git] 2026-08-18 10:27:03.423 [INFO] [git:daffa08d] 目录 fscp-auth 代码指纹: f3e26ae","timestamp":"2026-08-18T10:27:03.423734+08:00"},{"seq":12,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:03.801 [INFO] [docker:daffa08d] 镜像已存在于 Registry: docker.fanson.cloud/fanson/fscp-auth:develop-f3e26ae（跳过构建）","timestamp":"2026-08-18T10:27:03.801707+08:00"},{"seq":13,"level":"INFO","component":"orchestrator","message":"[orchestrator] 2026-08-18 10:27:03.801 [INFO] [orchestrator:daffa08d] SKIP fanson/fscp-auth (镜像 fanson/fscp-auth:develop-f3e26ae 已存在，代码指纹 f3e26ae)","timestamp":"2026-08-18T10:27:03.801849+08:00"},{"seq":14,"level":"INFO","component":"git","message":"[git] 2026-08-18 10:27:03.805 [INFO] [git:daffa08d] 目录 fscp-modules 代码指纹: 759ba48","timestamp":"2026-08-18T10:27:03.805223+08:00"},{"seq":15,"level":"INFO","component":"git","message":"[git] 2026-08-18 10:27:04.439 [INFO] [git:daffa08d] 目录 fscp-modules 代码指纹: 759ba48","timestamp":"2026-08-18T10:27:04.439357+08:00"},{"seq":16,"level":"INFO","component":"git","message":"[git] 2026-08-18 10:27:05.070 [INFO] [git:daffa08d] 目录 fscp-modules 代码指纹: 759ba48","timestamp":"2026-08-18T10:27:05.070813+08:00"},{"seq":17,"level":"INFO","component":"orchestrator","message":"[orchestrator] 2026-08-18 10:27:05.694 [INFO] [orchestrator:daffa08d] 🔨 开始构建 3 个服务","timestamp":"2026-08-18T10:27:05.694890+08:00"},{"seq":18,"level":"INFO","component":"orchestrator","message":"[orchestrator] 2026-08-18 10:27:05.698 [INFO] [orchestrator:daffa08d] 🔨 构建服务: fanson/fscp-system → 镜像标签 fanson/fscp-system:develop-759ba48","timestamp":"2026-08-18T10:27:05.698366+08:00"},{"seq":19,"level":"INFO","component":"orchestrator","message":"[orchestrator] 2026-08-18 10:27:05.698 [INFO] [orchestrator:daffa08d] 已自动注入 -pl fscp-modules/fscp-system -am: mvn -pl fscp-modules/fscp-system -am clean package -DskipTests","timestamp":"2026-08-18T10:27:05.698510+08:00"},{"seq":20,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:05.698 [INFO] [docker:daffa08d] building docker.fanson.cloud/fanson/fscp-system:develop-759ba48 (with cache)","timestamp":"2026-08-18T10:27:05.698993+08:00"},{"seq":21,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:05.933 [INFO] [docker:daffa08d] ERROR: failed to build: Cache export is not supported for the docker driver.","timestamp":"2026-08-18T10:27:05.933375+08:00"},{"seq":22,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:05.933 [INFO] [docker:daffa08d] Switch to a different driver, or turn on the containerd image store, and try again.","timestamp":"2026-08-18T10:27:05.933509+08:00"},{"seq":23,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:05.933 [INFO] [docker:daffa08d] Learn more at https://docs.docker.com/go/build-cache-backends/","timestamp":"2026-08-18T10:27:05.933600+08:00"},{"seq":24,"level":"ERROR","component":"docker","message":"[docker] 2026-08-18 10:27:05.935 [ERROR] [docker:daffa08d] docker command failed (exit=1): ERROR: failed to build: Cache export is not supported for the docker driver.\nSwitch to a different driver, or turn on the containerd image store, and try again.\nLearn more at https://docs.docker.com/go/build-cache-backends/","timestamp":"2026-08-18T10:27:05.935418+08:00"},{"seq":25,"level":"WARNING","component":"docker","message":"[docker] 2026-08-18 10:27:05.935 [WARNING] [docker:daffa08d] buildx 不可用，已切换为原生 docker build (之后本 job 不会再重试 buildx)","timestamp":"2026-08-18T10:27:05.935788+08:00"},{"seq":26,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:05.935 [INFO] [docker:daffa08d] building docker.fanson.cloud/fanson/fscp-system:develop-759ba48 (native docker build)","timestamp":"2026-08-18T10:27:05.935883+08:00"},{"seq":27,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:06.709 [INFO] [docker:daffa08d] #1 DONE 0.5s","timestamp":"2026-08-18T10:27:06.709928+08:00"},{"seq":28,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:06.985 [INFO] [docker:daffa08d] #2 DONE 0.0s","timestamp":"2026-08-18T10:27:06.985459+08:00"},{"seq":29,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:07.218 [INFO] [docker:daffa08d] #4 DONE 0.5s","timestamp":"2026-08-18T10:27:07.218716+08:00"},{"seq":30,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:08.014 [INFO] [docker:daffa08d] #3 DONE 1.3s","timestamp":"2026-08-18T10:27:08.014724+08:00"},{"seq":31,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:08.611 [INFO] [docker:daffa08d] #5 DONE 0.6s","timestamp":"2026-08-18T10:27:08.611755+08:00"},{"seq":32,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:08.809 [INFO] [docker:daffa08d] #6 DONE 0.0s","timestamp":"2026-08-18T10:27:08.809658+08:00"},{"seq":33,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:08.809 [INFO] [docker:daffa08d] #7 DONE 0.0s","timestamp":"2026-08-18T10:27:08.809792+08:00"},{"seq":34,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:09.352 [INFO] [docker:daffa08d] #8 DONE 0.7s","timestamp":"2026-08-18T10:27:09.352517+08:00"},{"seq":35,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:09.550 [INFO] [docker:daffa08d] #9 CACHED","timestamp":"2026-08-18T10:27:09.550930+08:00"},{"seq":36,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:09.551 [INFO] [docker:daffa08d] #10 CACHED","timestamp":"2026-08-18T10:27:09.551050+08:00"},{"seq":37,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:09.551 [INFO] [docker:daffa08d] #11 CACHED","timestamp":"2026-08-18T10:27:09.551145+08:00"},{"seq":38,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:09.551 [INFO] [docker:daffa08d] #12 CACHED","timestamp":"2026-08-18T10:27:09.551242+08:00"},{"seq":39,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:11.177 [INFO] [docker:daffa08d] #13 DONE 1.8s","timestamp":"2026-08-18T10:27:11.177119+08:00"},{"seq":40,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:14.394 [INFO] [docker:daffa08d] Downloaded from public: https://maven.aliyun.com/repository/public/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata.xml (1.6 kB at 2.9 kB/s)","timestamp":"2026-08-18T10:27:14.394319+08:00"},{"seq":41,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:14.502 [INFO] [docker:daffa08d] Downloaded from public: https://maven.aliyun.com/repository/public/org/apache/maven/plugins/maven-resources-plugin/maven-metadata.xml (1.0 kB at 12 kB/s)","timestamp":"2026-08-18T10:27:14.502097+08:00"},{"seq":42,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:21.367 [INFO] [docker:daffa08d] Progress (1): 6.6 kB","timestamp":"2026-08-18T10:27:21.367567+08:00"},{"seq":43,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:21.367 [INFO] [docker:daffa08d] Downloaded from public: https://maven.aliyun.com/repository/public/io/grpc/grpc-core/maven-metadata.xml (6.6 kB at 84 kB/s)","timestamp":"2026-08-18T10:27:21.367755+08:00"},{"seq":44,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:22.121 [INFO] [docker:daffa08d] Progress (1): 6.6 kB","timestamp":"2026-08-18T10:27:22.121951+08:00"},{"seq":45,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:22.148 [INFO] [docker:daffa08d] Downloaded from central: https://repo.maven.apache.org/maven2/io/grpc/grpc-core/maven-metadata.xml (6.6 kB at 6.5 kB/s)","timestamp":"2026-08-18T10:27:22.148323+08:00"},{"seq":46,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:22.372 [INFO] [docker:daffa08d] Progress (1): 5.0 kB","timestamp":"2026-08-18T10:27:22.372607+08:00"},{"seq":47,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:22.372 [INFO] [docker:daffa08d] Downloaded from public: https://maven.aliyun.com/repository/public/io/grpc/grpc-api/maven-metadata.xml (5.0 kB at 65 kB/s)","timestamp":"2026-08-18T10:27:22.372735+08:00"},{"seq":48,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:23.219 [INFO] [docker:daffa08d] Progress (1): 5.0 kB","timestamp":"2026-08-18T10:27:23.219639+08:00"},{"seq":49,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:23.431 [INFO] [docker:daffa08d] Downloaded from central: https://repo.maven.apache.org/maven2/io/grpc/grpc-api/maven-metadata.xml (5.0 kB at 4.7 kB/s)","timestamp":"2026-08-18T10:27:23.431859+08:00"},{"seq":50,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:27.276 [INFO] [docker:daffa08d] #14 DONE 16.1s","timestamp":"2026-08-18T10:27:27.276495+08:00"},{"seq":51,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:27.873 [INFO] [docker:daffa08d] #15 CACHED","timestamp":"2026-08-18T10:27:27.873688+08:00"},{"seq":52,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:29.919 [INFO] [docker:daffa08d] #16 DONE 2.2s","timestamp":"2026-08-18T10:27:29.919155+08:00"},{"seq":53,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:31.146 [INFO] [docker:daffa08d] #17 DONE 1.2s","timestamp":"2026-08-18T10:27:31.146629+08:00"},{"seq":54,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.056 [INFO] [docker:daffa08d] build success: docker.fanson.cloud/fanson/fscp-system:develop-759ba48","timestamp":"2026-08-18T10:27:32.056816+08:00"},{"seq":55,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.056 [INFO] [docker:daffa08d] pushing docker.fanson.cloud/fanson/fscp-system:develop-759ba48","timestamp":"2026-08-18T10:27:32.056924+08:00"},{"seq":56,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.091 [INFO] [docker:daffa08d] The push refers to repository [docker.fanson.cloud/fanson/fscp-system]","timestamp":"2026-08-18T10:27:32.091605+08:00"},{"seq":57,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.126 [INFO] [docker:daffa08d] 1e2f5870b712: Preparing","timestamp":"2026-08-18T10:27:32.126802+08:00"},{"seq":58,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.126 [INFO] [docker:daffa08d] 5f70bf18a086: Preparing","timestamp":"2026-08-18T10:27:32.126918+08:00"},{"seq":59,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.127 [INFO] [docker:daffa08d] 71a2618c0925: Preparing","timestamp":"2026-08-18T10:27:32.127008+08:00"},{"seq":60,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.127 [INFO] [docker:daffa08d] 6fc52eaf99f6: Preparing","timestamp":"2026-08-18T10:27:32.127092+08:00"},{"seq":61,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.127 [INFO] [docker:daffa08d] cd4b3dc03178: Preparing","timestamp":"2026-08-18T10:27:32.127177+08:00"},{"seq":62,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.127 [INFO] [docker:daffa08d] b4cfcb8385a8: Preparing","timestamp":"2026-08-18T10:27:32.127258+08:00"},{"seq":63,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.127 [INFO] [docker:daffa08d] 2b730cf18c09: Preparing","timestamp":"2026-08-18T10:27:32.127336+08:00"},{"seq":64,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.127 [INFO] [docker:daffa08d] edeaba958753: Preparing","timestamp":"2026-08-18T10:27:32.127414+08:00"},{"seq":65,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.127 [INFO] [docker:daffa08d] 8bf42db0de72: Preparing","timestamp":"2026-08-18T10:27:32.127492+08:00"},{"seq":66,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.127 [INFO] [docker:daffa08d] 31892cc314cb: Preparing","timestamp":"2026-08-18T10:27:32.127569+08:00"},{"seq":67,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.127 [INFO] [docker:daffa08d] 11936051f93b: Preparing","timestamp":"2026-08-18T10:27:32.127646+08:00"},{"seq":68,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.127 [INFO] [docker:daffa08d] b4cfcb8385a8: Waiting","timestamp":"2026-08-18T10:27:32.127721+08:00"},{"seq":69,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.127 [INFO] [docker:daffa08d] 2b730cf18c09: Waiting","timestamp":"2026-08-18T10:27:32.127806+08:00"},{"seq":70,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.127 [INFO] [docker:daffa08d] edeaba958753: Waiting","timestamp":"2026-08-18T10:27:32.127884+08:00"},{"seq":71,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.127 [INFO] [docker:daffa08d] 8bf42db0de72: Waiting","timestamp":"2026-08-18T10:27:32.127961+08:00"},{"seq":72,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.128 [INFO] [docker:daffa08d] 31892cc314cb: Waiting","timestamp":"2026-08-18T10:27:32.128038+08:00"},{"seq":73,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.128 [INFO] [docker:daffa08d] 11936051f93b: Waiting","timestamp":"2026-08-18T10:27:32.128114+08:00"},{"seq":74,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.435 [INFO] [docker:daffa08d] cd4b3dc03178: Layer already exists","timestamp":"2026-08-18T10:27:32.435739+08:00"},{"seq":75,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.499 [INFO] [docker:daffa08d] 6fc52eaf99f6: Layer already exists","timestamp":"2026-08-18T10:27:32.499576+08:00"},{"seq":76,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.499 [INFO] [docker:daffa08d] 71a2618c0925: Layer already exists","timestamp":"2026-08-18T10:27:32.499738+08:00"},{"seq":77,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.499 [INFO] [docker:daffa08d] 5f70bf18a086: Layer already exists","timestamp":"2026-08-18T10:27:32.499825+08:00"},{"seq":78,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.534 [INFO] [docker:daffa08d] b4cfcb8385a8: Layer already exists","timestamp":"2026-08-18T10:27:32.534674+08:00"},{"seq":79,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.633 [INFO] [docker:daffa08d] 2b730cf18c09: Layer already exists","timestamp":"2026-08-18T10:27:32.633758+08:00"},{"seq":80,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.651 [INFO] [docker:daffa08d] 8bf42db0de72: Layer already exists","timestamp":"2026-08-18T10:27:32.651223+08:00"},{"seq":81,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.651 [INFO] [docker:daffa08d] 31892cc314cb: Layer already exists","timestamp":"2026-08-18T10:27:32.651410+08:00"},{"seq":82,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.651 [INFO] [docker:daffa08d] edeaba958753: Layer already exists","timestamp":"2026-08-18T10:27:32.651626+08:00"},{"seq":83,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:32.717 [INFO] [docker:daffa08d] 11936051f93b: Layer already exists","timestamp":"2026-08-18T10:27:32.717123+08:00"},{"seq":84,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:43.553 [INFO] [docker:daffa08d] 1e2f5870b712: Pushed","timestamp":"2026-08-18T10:27:43.553196+08:00"},{"seq":85,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:44.345 [INFO] [docker:daffa08d] develop-759ba48: digest: sha256:67de84b3aada610082f1e6add05c74d5f6a63d705ca52376bc80ab1c248ad4af size: 2629","timestamp":"2026-08-18T10:27:44.345704+08:00"},{"seq":86,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:44.426 [INFO] [docker:daffa08d] The push refers to repository [docker.fanson.cloud/fanson/fscp-system]","timestamp":"2026-08-18T10:27:44.426065+08:00"},{"seq":87,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:44.460 [INFO] [docker:daffa08d] tag does not exist: docker.fanson.cloud/fanson/fscp-system:cache","timestamp":"2026-08-18T10:27:44.460453+08:00"},{"seq":88,"level":"ERROR","component":"docker","message":"[docker] 2026-08-18 10:27:44.461 [ERROR] [docker:daffa08d] docker command failed (exit=1): The push refers to repository [docker.fanson.cloud/fanson/fscp-system]\ntag does not exist: docker.fanson.cloud/fanson/fscp-system:cache","timestamp":"2026-08-18T10:27:44.461670+08:00"},{"seq":89,"level":"WARNING","component":"docker","message":"[docker] 2026-08-18 10:27:44.461 [WARNING] [docker:daffa08d] cache push skipped: The push refers to repository [docker.fanson.cloud/fanson/fscp-system]\ntag does not exist: docker.fanson.cloud/fanson/fscp-system:cache","timestamp":"2026-08-18T10:27:44.461904+08:00"},{"seq":90,"level":"INFO","component":"orchestrator","message":"[orchestrator] 2026-08-18 10:27:44.461 [INFO] [orchestrator:daffa08d] ✅ 服务构建完成: docker.fanson.cloud/fanson/fscp-system:develop-759ba48","timestamp":"2026-08-18T10:27:44.461997+08:00"},{"seq":91,"level":"INFO","component":"orchestrator","message":"[orchestrator] 2026-08-18 10:27:44.482 [INFO] [orchestrator:daffa08d] 🔨 构建服务: fanson/fscp-billing → 镜像标签 fanson/fscp-billing:develop-759ba48","timestamp":"2026-08-18T10:27:44.482704+08:00"},{"seq":92,"level":"INFO","component":"orchestrator","message":"[orchestrator] 2026-08-18 10:27:44.482 [INFO] [orchestrator:daffa08d] 已自动注入 -pl fscp-modules/fscp-billing -am: mvn -pl fscp-modules/fscp-billing -am clean package -DskipTests","timestamp":"2026-08-18T10:27:44.482827+08:00"},{"seq":93,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:44.483 [INFO] [docker:daffa08d] building docker.fanson.cloud/fanson/fscp-billing:develop-759ba48 (skipping buildx — already known to fail)","timestamp":"2026-08-18T10:27:44.483200+08:00"},{"seq":94,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:44.934 [INFO] [docker:daffa08d] #1 DONE 0.2s","timestamp":"2026-08-18T10:27:44.934850+08:00"},{"seq":95,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:45.255 [INFO] [docker:daffa08d] #2 DONE 0.3s","timestamp":"2026-08-18T10:27:45.255546+08:00"},{"seq":96,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:46.018 [INFO] [docker:daffa08d] #3 DONE 1.0s","timestamp":"2026-08-18T10:27:46.018528+08:00"},{"seq":97,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:46.206 [INFO] [docker:daffa08d] #4 DONE 0.2s","timestamp":"2026-08-18T10:27:46.206491+08:00"},{"seq":98,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:46.333 [INFO] [docker:daffa08d] #5 DONE 0.0s","timestamp":"2026-08-18T10:27:46.333231+08:00"},{"seq":99,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:46.333 [INFO] [docker:daffa08d] #6 DONE 0.0s","timestamp":"2026-08-18T10:27:46.333370+08:00"},{"seq":100,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:46.504 [INFO] [docker:daffa08d] #7 DONE 0.3s","timestamp":"2026-08-18T10:27:46.504910+08:00"},{"seq":101,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:46.700 [INFO] [docker:daffa08d] #8 CACHED","timestamp":"2026-08-18T10:27:46.700709+08:00"},{"seq":102,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:46.700 [INFO] [docker:daffa08d] #9 CACHED","timestamp":"2026-08-18T10:27:46.700863+08:00"},{"seq":103,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:46.700 [INFO] [docker:daffa08d] #10 CACHED","timestamp":"2026-08-18T10:27:46.700976+08:00"},{"seq":104,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:46.701 [INFO] [docker:daffa08d] #11 CACHED","timestamp":"2026-08-18T10:27:46.701088+08:00"},{"seq":105,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:27:48.230 [INFO] [docker:daffa08d] #12 DONE 1.7s","timestamp":"2026-08-18T10:27:48.230016+08:00"},{"seq":106,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:03.643 [INFO] [docker:daffa08d] #13 DONE 15.4s","timestamp":"2026-08-18T10:28:03.643721+08:00"},{"seq":107,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:04.153 [INFO] [docker:daffa08d] #14 CACHED","timestamp":"2026-08-18T10:28:04.153172+08:00"},{"seq":108,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:06.319 [INFO] [docker:daffa08d] #15 DONE 2.3s","timestamp":"2026-08-18T10:28:06.319601+08:00"},{"seq":109,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:08.387 [INFO] [docker:daffa08d] #16 DONE 2.0s","timestamp":"2026-08-18T10:28:08.387367+08:00"},{"seq":110,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.286 [INFO] [docker:daffa08d] build success: docker.fanson.cloud/fanson/fscp-billing:develop-759ba48","timestamp":"2026-08-18T10:28:09.286383+08:00"},{"seq":111,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.286 [INFO] [docker:daffa08d] pushing docker.fanson.cloud/fanson/fscp-billing:develop-759ba48","timestamp":"2026-08-18T10:28:09.286507+08:00"},{"seq":112,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.324 [INFO] [docker:daffa08d] The push refers to repository [docker.fanson.cloud/fanson/fscp-billing]","timestamp":"2026-08-18T10:28:09.324765+08:00"},{"seq":113,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.360 [INFO] [docker:daffa08d] f99140bf1081: Preparing","timestamp":"2026-08-18T10:28:09.360245+08:00"},{"seq":114,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.360 [INFO] [docker:daffa08d] 5f70bf18a086: Preparing","timestamp":"2026-08-18T10:28:09.360372+08:00"},{"seq":115,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.360 [INFO] [docker:daffa08d] 71a2618c0925: Preparing","timestamp":"2026-08-18T10:28:09.360464+08:00"},{"seq":116,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.360 [INFO] [docker:daffa08d] 6fc52eaf99f6: Preparing","timestamp":"2026-08-18T10:28:09.360549+08:00"},{"seq":117,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.360 [INFO] [docker:daffa08d] cd4b3dc03178: Preparing","timestamp":"2026-08-18T10:28:09.360631+08:00"},{"seq":118,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.360 [INFO] [docker:daffa08d] b4cfcb8385a8: Preparing","timestamp":"2026-08-18T10:28:09.360711+08:00"},{"seq":119,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.360 [INFO] [docker:daffa08d] 2b730cf18c09: Preparing","timestamp":"2026-08-18T10:28:09.360806+08:00"},{"seq":120,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.360 [INFO] [docker:daffa08d] edeaba958753: Preparing","timestamp":"2026-08-18T10:28:09.360886+08:00"},{"seq":121,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.360 [INFO] [docker:daffa08d] 8bf42db0de72: Preparing","timestamp":"2026-08-18T10:28:09.360964+08:00"},{"seq":122,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.361 [INFO] [docker:daffa08d] 31892cc314cb: Preparing","timestamp":"2026-08-18T10:28:09.361042+08:00"},{"seq":123,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.361 [INFO] [docker:daffa08d] 11936051f93b: Preparing","timestamp":"2026-08-18T10:28:09.361119+08:00"},{"seq":124,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.361 [INFO] [docker:daffa08d] 31892cc314cb: Waiting","timestamp":"2026-08-18T10:28:09.361195+08:00"},{"seq":125,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.361 [INFO] [docker:daffa08d] 8bf42db0de72: Waiting","timestamp":"2026-08-18T10:28:09.361270+08:00"},{"seq":126,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.361 [INFO] [docker:daffa08d] b4cfcb8385a8: Waiting","timestamp":"2026-08-18T10:28:09.361346+08:00"},{"seq":127,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.361 [INFO] [docker:daffa08d] 11936051f93b: Waiting","timestamp":"2026-08-18T10:28:09.361421+08:00"},{"seq":128,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.361 [INFO] [docker:daffa08d] 2b730cf18c09: Waiting","timestamp":"2026-08-18T10:28:09.361496+08:00"},{"seq":129,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.361 [INFO] [docker:daffa08d] edeaba958753: Waiting","timestamp":"2026-08-18T10:28:09.361571+08:00"},{"seq":130,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.645 [INFO] [docker:daffa08d] 6fc52eaf99f6: Layer already exists","timestamp":"2026-08-18T10:28:09.645620+08:00"},{"seq":131,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.691 [INFO] [docker:daffa08d] 71a2618c0925: Layer already exists","timestamp":"2026-08-18T10:28:09.691310+08:00"},{"seq":132,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.691 [INFO] [docker:daffa08d] 5f70bf18a086: Layer already exists","timestamp":"2026-08-18T10:28:09.691563+08:00"},{"seq":133,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.691 [INFO] [docker:daffa08d] cd4b3dc03178: Layer already exists","timestamp":"2026-08-18T10:28:09.691848+08:00"},{"seq":134,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.750 [INFO] [docker:daffa08d] b4cfcb8385a8: Layer already exists","timestamp":"2026-08-18T10:28:09.750434+08:00"},{"seq":135,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.785 [INFO] [docker:daffa08d] edeaba958753: Layer already exists","timestamp":"2026-08-18T10:28:09.785865+08:00"},{"seq":136,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.786 [INFO] [docker:daffa08d] 2b730cf18c09: Layer already exists","timestamp":"2026-08-18T10:28:09.786800+08:00"},{"seq":137,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.789 [INFO] [docker:daffa08d] 8bf42db0de72: Layer already exists","timestamp":"2026-08-18T10:28:09.789894+08:00"},{"seq":138,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.875 [INFO] [docker:daffa08d] 31892cc314cb: Layer already exists","timestamp":"2026-08-18T10:28:09.875482+08:00"},{"seq":139,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:09.920 [INFO] [docker:daffa08d] 11936051f93b: Layer already exists","timestamp":"2026-08-18T10:28:09.920789+08:00"},{"seq":140,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:24.211 [INFO] [docker:daffa08d] f99140bf1081: Pushed","timestamp":"2026-08-18T10:28:24.211094+08:00"},{"seq":141,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:24.970 [INFO] [docker:daffa08d] develop-759ba48: digest: sha256:703bc3c05eafdf11bb97d2f8775db744533b7c64a7490121f08e86430cbb8165 size: 2629","timestamp":"2026-08-18T10:28:24.970363+08:00"},{"seq":142,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:25.056 [INFO] [docker:daffa08d] The push refers to repository [docker.fanson.cloud/fanson/fscp-billing]","timestamp":"2026-08-18T10:28:25.056458+08:00"},{"seq":143,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:25.089 [INFO] [docker:daffa08d] tag does not exist: docker.fanson.cloud/fanson/fscp-billing:cache","timestamp":"2026-08-18T10:28:25.089581+08:00"},{"seq":144,"level":"ERROR","component":"docker","message":"[docker] 2026-08-18 10:28:25.090 [ERROR] [docker:daffa08d] docker command failed (exit=1): The push refers to repository [docker.fanson.cloud/fanson/fscp-billing]\ntag does not exist: docker.fanson.cloud/fanson/fscp-billing:cache","timestamp":"2026-08-18T10:28:25.090329+08:00"},{"seq":145,"level":"WARNING","component":"docker","message":"[docker] 2026-08-18 10:28:25.090 [WARNING] [docker:daffa08d] cache push skipped: The push refers to repository [docker.fanson.cloud/fanson/fscp-billing]\ntag does not exist: docker.fanson.cloud/fanson/fscp-billing:cache","timestamp":"2026-08-18T10:28:25.090741+08:00"},{"seq":146,"level":"INFO","component":"orchestrator","message":"[orchestrator] 2026-08-18 10:28:25.090 [INFO] [orchestrator:daffa08d] ✅ 服务构建完成: docker.fanson.cloud/fanson/fscp-billing:develop-759ba48","timestamp":"2026-08-18T10:28:25.090891+08:00"},{"seq":147,"level":"INFO","component":"orchestrator","message":"[orchestrator] 2026-08-18 10:28:25.094 [INFO] [orchestrator:daffa08d] 🔨 构建服务: fanson/fscp-tenant → 镜像标签 fanson/fscp-tenant:develop-759ba48","timestamp":"2026-08-18T10:28:25.094480+08:00"},{"seq":148,"level":"INFO","component":"orchestrator","message":"[orchestrator] 2026-08-18 10:28:25.094 [INFO] [orchestrator:daffa08d] 已自动注入 -pl fscp-modules/fscp-tenant -am: mvn -pl fscp-modules/fscp-tenant -am clean package -DskipTests","timestamp":"2026-08-18T10:28:25.094602+08:00"},{"seq":149,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:25.094 [INFO] [docker:daffa08d] building docker.fanson.cloud/fanson/fscp-tenant:develop-759ba48 (skipping buildx — already known to fail)","timestamp":"2026-08-18T10:28:25.094986+08:00"},{"seq":150,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:25.492 [INFO] [docker:daffa08d] #1 DONE 0.2s","timestamp":"2026-08-18T10:28:25.492688+08:00"},{"seq":151,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:25.857 [INFO] [docker:daffa08d] #3 DONE 0.3s","timestamp":"2026-08-18T10:28:25.857720+08:00"},{"seq":152,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:25.968 [INFO] [docker:daffa08d] #2 DONE 0.4s","timestamp":"2026-08-18T10:28:25.968510+08:00"},{"seq":153,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:26.134 [INFO] [docker:daffa08d] #4 DONE 0.2s","timestamp":"2026-08-18T10:28:26.134183+08:00"},{"seq":154,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:26.249 [INFO] [docker:daffa08d] #5 DONE 0.0s","timestamp":"2026-08-18T10:28:26.249229+08:00"},{"seq":155,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:26.249 [INFO] [docker:daffa08d] #6 DONE 0.0s","timestamp":"2026-08-18T10:28:26.249358+08:00"},{"seq":156,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:26.388 [INFO] [docker:daffa08d] #7 DONE 0.2s","timestamp":"2026-08-18T10:28:26.388262+08:00"},{"seq":157,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:26.583 [INFO] [docker:daffa08d] #8 CACHED","timestamp":"2026-08-18T10:28:26.583822+08:00"},{"seq":158,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:26.583 [INFO] [docker:daffa08d] #9 CACHED","timestamp":"2026-08-18T10:28:26.583940+08:00"},{"seq":159,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:26.584 [INFO] [docker:daffa08d] #10 CACHED","timestamp":"2026-08-18T10:28:26.584033+08:00"},{"seq":160,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:26.584 [INFO] [docker:daffa08d] #11 CACHED","timestamp":"2026-08-18T10:28:26.584125+08:00"},{"seq":161,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:28.058 [INFO] [docker:daffa08d] #12 DONE 1.6s","timestamp":"2026-08-18T10:28:28.058190+08:00"},{"seq":162,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:42.653 [INFO] [docker:daffa08d] #13 DONE 14.6s","timestamp":"2026-08-18T10:28:42.653689+08:00"},{"seq":163,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:43.190 [INFO] [docker:daffa08d] #14 CACHED","timestamp":"2026-08-18T10:28:43.190566+08:00"},{"seq":164,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:44.920 [INFO] [docker:daffa08d] #15 DONE 1.9s","timestamp":"2026-08-18T10:28:44.920462+08:00"},{"seq":165,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:46.004 [INFO] [docker:daffa08d] #16 DONE 1.0s","timestamp":"2026-08-18T10:28:46.004005+08:00"},{"seq":166,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:46.980 [INFO] [docker:daffa08d] build success: docker.fanson.cloud/fanson/fscp-tenant:develop-759ba48","timestamp":"2026-08-18T10:28:46.980359+08:00"},{"seq":167,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:46.980 [INFO] [docker:daffa08d] pushing docker.fanson.cloud/fanson/fscp-tenant:develop-759ba48","timestamp":"2026-08-18T10:28:46.980462+08:00"},{"seq":168,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.015 [INFO] [docker:daffa08d] The push refers to repository [docker.fanson.cloud/fanson/fscp-tenant]","timestamp":"2026-08-18T10:28:47.015790+08:00"},{"seq":169,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.053 [INFO] [docker:daffa08d] 2350846e1fc5: Preparing","timestamp":"2026-08-18T10:28:47.053777+08:00"},{"seq":170,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.053 [INFO] [docker:daffa08d] 5f70bf18a086: Preparing","timestamp":"2026-08-18T10:28:47.053904+08:00"},{"seq":171,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.053 [INFO] [docker:daffa08d] 71a2618c0925: Preparing","timestamp":"2026-08-18T10:28:47.053999+08:00"},{"seq":172,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.054 [INFO] [docker:daffa08d] 6fc52eaf99f6: Preparing","timestamp":"2026-08-18T10:28:47.054090+08:00"},{"seq":173,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.054 [INFO] [docker:daffa08d] cd4b3dc03178: Preparing","timestamp":"2026-08-18T10:28:47.054179+08:00"},{"seq":174,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.054 [INFO] [docker:daffa08d] b4cfcb8385a8: Preparing","timestamp":"2026-08-18T10:28:47.054267+08:00"},{"seq":175,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.054 [INFO] [docker:daffa08d] 2b730cf18c09: Preparing","timestamp":"2026-08-18T10:28:47.054354+08:00"},{"seq":176,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.054 [INFO] [docker:daffa08d] edeaba958753: Preparing","timestamp":"2026-08-18T10:28:47.054439+08:00"},{"seq":177,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.054 [INFO] [docker:daffa08d] 8bf42db0de72: Preparing","timestamp":"2026-08-18T10:28:47.054525+08:00"},{"seq":178,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.054 [INFO] [docker:daffa08d] 31892cc314cb: Preparing","timestamp":"2026-08-18T10:28:47.054612+08:00"},{"seq":179,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.054 [INFO] [docker:daffa08d] 11936051f93b: Preparing","timestamp":"2026-08-18T10:28:47.054696+08:00"},{"seq":180,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.054 [INFO] [docker:daffa08d] 8bf42db0de72: Waiting","timestamp":"2026-08-18T10:28:47.054786+08:00"},{"seq":181,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.054 [INFO] [docker:daffa08d] 31892cc314cb: Waiting","timestamp":"2026-08-18T10:28:47.054869+08:00"},{"seq":182,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.054 [INFO] [docker:daffa08d] b4cfcb8385a8: Waiting","timestamp":"2026-08-18T10:28:47.054952+08:00"},{"seq":183,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.055 [INFO] [docker:daffa08d] 2b730cf18c09: Waiting","timestamp":"2026-08-18T10:28:47.055035+08:00"},{"seq":184,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.055 [INFO] [docker:daffa08d] edeaba958753: Waiting","timestamp":"2026-08-18T10:28:47.055117+08:00"},{"seq":185,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.347 [INFO] [docker:daffa08d] 71a2618c0925: Layer already exists","timestamp":"2026-08-18T10:28:47.347028+08:00"},{"seq":186,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.396 [INFO] [docker:daffa08d] 5f70bf18a086: Layer already exists","timestamp":"2026-08-18T10:28:47.396383+08:00"},{"seq":187,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.396 [INFO] [docker:daffa08d] cd4b3dc03178: Layer already exists","timestamp":"2026-08-18T10:28:47.396901+08:00"},{"seq":188,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.397 [INFO] [docker:daffa08d] 6fc52eaf99f6: Layer already exists","timestamp":"2026-08-18T10:28:47.397062+08:00"},{"seq":189,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.436 [INFO] [docker:daffa08d] b4cfcb8385a8: Layer already exists","timestamp":"2026-08-18T10:28:47.436879+08:00"},{"seq":190,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.524 [INFO] [docker:daffa08d] edeaba958753: Layer already exists","timestamp":"2026-08-18T10:28:47.524307+08:00"},{"seq":191,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.566 [INFO] [docker:daffa08d] 31892cc314cb: Layer already exists","timestamp":"2026-08-18T10:28:47.566345+08:00"},{"seq":192,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.566 [INFO] [docker:daffa08d] 2b730cf18c09: Layer already exists","timestamp":"2026-08-18T10:28:47.566564+08:00"},{"seq":193,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.566 [INFO] [docker:daffa08d] 8bf42db0de72: Layer already exists","timestamp":"2026-08-18T10:28:47.566656+08:00"},{"seq":194,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:47.602 [INFO] [docker:daffa08d] 11936051f93b: Layer already exists","timestamp":"2026-08-18T10:28:47.602544+08:00"},{"seq":195,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:54.387 [INFO] [docker:daffa08d] 2350846e1fc5: Pushed","timestamp":"2026-08-18T10:28:54.387584+08:00"},{"seq":196,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:55.069 [INFO] [docker:daffa08d] develop-759ba48: digest: sha256:05817b538ce9e93a3c427b99753ec2a496bcfc4b4d8d57092082c42918cd7ed4 size: 2628","timestamp":"2026-08-18T10:28:55.069443+08:00"},{"seq":197,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:55.141 [INFO] [docker:daffa08d] The push refers to repository [docker.fanson.cloud/fanson/fscp-tenant]","timestamp":"2026-08-18T10:28:55.141565+08:00"},{"seq":198,"level":"INFO","component":"docker","message":"[docker] 2026-08-18 10:28:55.174 [INFO] [docker:daffa08d] tag does not exist: docker.fanson.cloud/fanson/fscp-tenant:cache","timestamp":"2026-08-18T10:28:55.174228+08:00"},{"seq":199,"level":"ERROR","component":"docker","message":"[docker] 2026-08-18 10:28:55.175 [ERROR] [docker:daffa08d] docker command failed (exit=1): The push refers to repository [docker.fanson.cloud/fanson/fscp-tenant]\ntag does not exist: docker.fanson.cloud/fanson/fscp-tenant:cache","timestamp":"2026-08-18T10:28:55.175139+08:00"},{"seq":200,"level":"WARNING","component":"docker","message":"[docker] 2026-08-18 10:28:55.175 [WARNING] [docker:daffa08d] cache push skipped: The push refers to repository [docker.fanson.cloud/fanson/fscp-tenant]\ntag does not exist: docker.fanson.cloud/fanson/fscp-tenant:cache","timestamp":"2026-08-18T10:28:55.175489+08:00"}]}