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

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

  •  
  •   qbhy ·
    qbhy · 13 天前 · 1707 次点击

    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 条附言  ·  10 天前

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

    7 条回复    2024-05-08 19:14:28 +08:00
    qbhy
        1
    qbhy  
    OP
       13 天前
    感兴趣的大佬欢迎点个 star 哦
    8jxguang
        2
    8jxguang  
       12 天前
    厉害
    ChinaDolphin
        3
    ChinaDolphin  
       12 天前
    README.md 没有中英文双版本 差评
    qbhy
        4
    qbhy  
    OP
       12 天前
    @ChinaDolphin 这就写
    qbhy
        5
    qbhy  
    OP
       12 天前
    刚刚更新了一键复制项目功能,可以快速复制已有的项目,不需要重新配置脚本之类的东西,可以复制好后修改需要修改的部分即可
    qbhy
        6
    qbhy  
    OP
       10 天前
    最新的 1.1 版本已经发布啦,一键复制一键部署啥的都有了
    qbhy
        7
    qbhy  
    OP
       10 天前
    @ChinaDolphin 中英 README 加上了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1124 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:38 · PVG 02:38 · LAX 11:38 · JFK 14:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.