|
16 | 16 | print("APP_DOC: ", app_doc); |
17 | 17 | version = app_doc["version"]; |
18 | 18 | app_name = app_doc["pkg_name"]; |
19 | | -app_base_dir = "/opt/buckyosci/apps/" |
20 | | -app_raw_dir = "/opt/buckyosci/app_build/" |
| 19 | +build_root_dir = os.getenv("BUCKYOS_BUILD_ROOT", "/opt/buckyosci") |
| 20 | +app_base_dir = os.path.join(build_root_dir, "apps") |
| 21 | +app_raw_dir = os.path.join(build_root_dir, "app_build") |
21 | 22 | platform_name = platform.system().lower() |
22 | 23 | if platform_name == "windows": |
23 | 24 | sys_temp_dir = tempfile.gettempdir() |
|
30 | 31 |
|
31 | 32 | def process_pkg_meta(pkg_meta_path,new_path,pkg_name): |
32 | 33 | pkg_meta = json.load(open(pkg_meta_path)); |
33 | | - pkg_meta["pub_time"] = int(time.time()) |
| 34 | + pkg_meta["create_time"] = int(time.time()) |
| 35 | + pkg_meta["last_update_time"] = pkg_meta["create_time"] |
34 | 36 | pkg_meta["exp"] = int(time.time()) + 3600 * 24 * 365 * 3 |
35 | | - pkg_meta["pkg_name"] = pkg_name |
| 37 | + pkg_meta["name"] = pkg_name |
36 | 38 | json.dump(pkg_meta, open(new_path, "w")); |
37 | 39 | return pkg_meta; |
38 | 40 |
|
@@ -73,7 +75,10 @@ def build_app(os_name, arch_name): |
73 | 75 | pkg_meta = process_pkg_meta("./publish/docker_pkg_meta.json", f"{sub_pkg_dir}/pkg_meta.json", pkg_id); |
74 | 76 | pkg_version = pkg_meta["version"]; |
75 | 77 | image_name = f"{docker_username}/nightly-{app_name}:{pkg_version}-{arch_name}" |
76 | | - result = subprocess.run(["docker", "buildx", "build", "--platform", f"linux/{arch_name}", "-t", image_name, "-f",docker_file,"."]) |
| 78 | + # 加--load参数以便在本地加载镜像, 后续可以save |
| 79 | + cmd = ["docker", "buildx", "build", "--load", "--platform", f"linux/{arch_name}", "-t", image_name, "-f",docker_file,"."] |
| 80 | + print("Running command: ", " ".join(cmd)) |
| 81 | + result = subprocess.run(cmd) |
77 | 82 | if result.returncode != 0: |
78 | 83 | print(f"Docker构建失败: {os_name}-{arch_name}") |
79 | 84 | sys.exit(1) |
@@ -151,7 +156,7 @@ def main(): |
151 | 156 |
|
152 | 157 | app_doc["pub_time"] = int(time.time()) |
153 | 158 | app_doc["exp"] = int(time.time()) + 3600 * 24 * 365 * 3 |
154 | | - json.dump(app_doc, open(f"{output_dir}/app.doc.json", "w")); |
| 159 | + json.dump(app_doc, open(f"{output_dir}/{app_name}.doc.json", "w")); |
155 | 160 | print(f"packed app_doc: {app_doc}"); |
156 | 161 | print("\n--------------------------------"); |
157 | 162 | print("^ ^ all build done ^ ^, output dir: ", output_dir); |
|
0 commit comments