五一没事做,用 Go 写了个简单实用的部署工具,大伙来看看吧 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
qbhy
V2EX    分享创造

五一没事做,用 Go 写了个简单实用的部署工具,大伙来看看吧

  •  
      qbhy
    qbhy 2024 年 5 月 5 日 3056 次点击
    这是一个创建于 649 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Goal-Piplin

    这是一款基于 Go 和 Goal Framework 开发的前后端分离的部署工具。
    前端: https://github.com/qbhy/goal-piplin-views
    后端: https://github.com/qbhy/goal-piplin

    疯狂求 star

    前言

    以前部署工具一直用的都是基于 laravel 开发的 Piplin ,但是由于它已经好久没更新了,甚至 PR 也没有处理,显然已经被荒废了,而 PHP 生态一直在更新,最终导致我放弃了 Piplin 。而且我自己开发了一个 Golang 框架,刚好可以写一个 Go 版本的 Piplin 来丰富 Goal 的生态,于是乎我写了个这个项目。

    有啥功能

    一般的部署工具有的功能都有,项目分组、自定义脚本、配置文件、共享文件等都是支持的。

    • 一键部署(调用 POST 接口部署)
    • 服务器组(服务器组和项目是多对多的关系)
    • 支持协作(就是项目和分组可以邀请别人一起操作和部署)

    安装

    克隆代码

    git clone https://github.com/qbhy/goal-piplin.git 

    使用 docker compose 启动服务(包括 mysql 、redis 、views 和 server )

    docker compose up -d 

    执行迁移

    docker compose exec server /var/www/piplin migrate 

    初始化用户和密钥

    docker compose exec server /var/www/piplin init 

    默认账号为 piplin ,密码为 password

    nginx 配置

    cp nginx.conf /etc/nginx/site-enabled/piplin.conf 

    这一步可以根据自己的需要修改路径和 piplin.conf

    更新

    如果 Goal-Piplin 有更新,会自动打包和推送最新镜像到 docker 仓库中,此时您只需要在你的 Goal-Piplin 目录执行以下命令即可

    make update 

    使用

    创建项目

    可以选择已有密钥或者新建密钥

    将公钥上传到 git 仓库中

    通常添加到部署公钥中即可

    五一没事做,用 Go 写了个简单实用的部署工具,大伙来看看吧

    github 举例 五一没事做,用 Go 写了个简单实用的部署工具,大伙来看看吧

    添加环境

    五一没事做,用 Go 写了个简单实用的部署工具,大伙来看看吧

    添加环境后需要配置环境对应的服务器或者机柜 五一没事做,用 Go 写了个简单实用的部署工具,大伙来看看吧

    将公钥添加到对应的服务器中

    配置好服务器后,要把项目公钥添加到所有服务器的 ~/.ssh/authorized_keys

    echo '公钥' >> ~/.ssh/authorized_keys 

    其他配置

    根据需求配置脚本、配置文件、共享目录等配置。

    五一没事做,用 Go 写了个简单实用的部署工具,大伙来看看吧

    五一没事做,用 Go 写了个简单实用的部署工具,大伙来看看吧

    五一没事做,用 Go 写了个简单实用的部署工具,大伙来看看吧

    开始部署

    选择环境和分支(或者 tag 、commit )即可进行部署,还可以一键复制 curl 命令进行部署 五一没事做,用 Go 写了个简单实用的部署工具,大伙来看看吧

    参与项目

    您可以直接给项目提交 PR 或者 issue 参与到项目中来,也可以直接 QQ 扫码加入到交流群中提出你宝贵的建议或者意见。 五一没事做,用 Go 写了个简单实用的部署工具,大伙来看看吧

    如果加群失败可以加我微信 qbhy0715 拉你进群

    第 1 条附言    2024 年 5 月 8 日

    链接:http://piplin.jianguly.com
    账号:testuser
    密码:123456

    7 条回复    2024-05-08 19:14:28 +08:00
    qbhy
        1
    qbhy  
    OP
       2024 年 5 月 5 日
    感兴趣的大佬欢迎点个 star 哦
    8jxguang
        2
    8jxguang  
       2024 年 5 月 6 日
    厉害
    ChinaDolphin
        3
    ChinaDolphin  
       2024 年 5 月 6 日
    README.md 没有中英文双版本 差评
    qbhy
        4
    qbhy  
    OP
       2024 年 5 月 6 日
    @ChinaDolphin 这就写
    qbhy
        5
    qbhy  
    OP
       2024 年 5 月 6 日
    刚刚更新了一键复制项目功能,可以快速复制已有的项目,不需要重新配置脚本之类的东西,可以复制好后修改需要修改的部分即可
    qbhy
        6
    qbhy  
    OP
       2024 年 5 月 8 日
    最新的 1.1 版本已经发布啦,一键复制一键部署啥的都有了
    qbhy
        7
    qbhy  
    OP
       2024 年 5 月 8 日
    @ChinaDolphin 中英 README 加上了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2036 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 12:44 PVG 20:44 LAX 04:44 JFK 07:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86