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

235 天前
 qbhy

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 的生态,于是乎我写了个这个项目。

有啥功能

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

安装

克隆代码

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 仓库中

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

github 举例

添加环境

添加环境后需要配置环境对应的服务器或者机柜

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

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

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

其他配置

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

开始部署

选择环境和分支(或者 tag 、commit )即可进行部署,还可以一键复制 curl 命令进行部署

参与项目

您可以直接给项目提交 PR 或者 issue 参与到项目中来,也可以直接 QQ 扫码加入到交流群中提出你宝贵的建议或者意见。

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

2383 次点击
所在节点    分享创造
7 条回复
qbhy
235 天前
感兴趣的大佬欢迎点个 star 哦
8jxguang
235 天前
厉害
ChinaDolphin
235 天前
README.md 没有中英文双版本 差评
qbhy
235 天前
@ChinaDolphin 这就写
qbhy
234 天前
刚刚更新了一键复制项目功能,可以快速复制已有的项目,不需要重新配置脚本之类的东西,可以复制好后修改需要修改的部分即可
qbhy
233 天前
最新的 1.1 版本已经发布啦,一键复制一键部署啥的都有了
qbhy
232 天前
@ChinaDolphin 中英 README 加上了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1037873

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX