V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
weiwenhao
V2EX  ›  分享创造

Parker 轻量级打包工具与容器运行时,一条命令将工作目录打包成可执行文件

  •  
  •   weiwenhao ·
    weiwenhao · 2023-09-22 10:22:18 +08:00 · 1340 次点击
    这是一个创建于 424 天前的主题,其中的信息可能已经有所发展或是发生改变。

    标准使用

    将可执行文件和其依赖静态资源打包到一起

    https://i.imgur.com/qKCkxZ5.png

    示例是一个 c 语言编写的 ip 解析服务 gcc -o ipservice ,其依赖 ipdb 资源文件。

    使用 parker 将可执行文件 ipservice 和其依赖的 assert 压缩并打包成新的可执行文件 ipservice-c 。

    在目标机器上运行 ipservice-c 将会生成一个轻量的容器环境来运行原始的 ipservice 服务和其关联的资源文件。

    特殊用例

    将脚本语言打包成可执行文件,cd 到工作目录,cp /usr/bin/python ./ 然后执行 parker python,你将会得到一个 python-c 文件,这就是打包好的可执行文件,将其上传到目标机器中执行即可。

    > parker python
    python-c
    ├── server.py
    ├── python
    ├── foo.txt
    └── bar.png
    🍻 parker successful
    
    ------------------------------------------------------------------------ move pyhon-c to target
    > tree .
    .
    └── python-c
    
    0 directories, 1 file
    
    ------------------------------------------------------------------------ run python-c
    > ./python-c server.py
    listen on http://127.0.0.1:8000
    

    仓库地址

    https://github.com/weiwenhao/parker

    源码构建

    源代码由编程语言 nature 开发,nature 编译器版本需要 >= 0.4.0 。安装完成后在源码目录执行 make amd64 && make install 即可安装到 /usr/local/parker 目录下。

    nature 是现代系统级编程语言与编译器,携手 c 一起进行高性能且高效的开发工作。

    nature 社区可用版本即将发布,现在也可以先行体验并提供改进意见。并邀您一起进行标准库贡献,所有的标准库贡献都会合并至主仓库。

    邀您加入 nature 编程语言交流群,添加微信号 nature-lang

    4 条回复    2023-09-25 15:26:00 +08:00
    dangyuluo
        1
    dangyuluo  
       2023-09-22 14:54:44 +08:00
    interesting
    flyqie
        2
    flyqie  
       2023-09-24 20:15:08 +08:00 via Android
    nature-lang 语法总有种熟悉的感觉。。
    weiwenhao
        3
    weiwenhao  
    OP
       2023-09-24 23:22:52 +08:00
    @flyqie 最接近 js 语法风格与 api 。
    Masoud2023
        4
    Masoud2023  
       2023-09-25 15:26:00 +08:00
    这个 nature-lang 的语法看着倒是蛮舒服的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3696 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 04:27 · PVG 12:27 · LAX 20:27 · JFK 23:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.