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 仓库中
通常添加到部署公钥中即可
github 举例
添加环境
添加环境后需要配置环境对应的服务器或者机柜
将公钥添加到对应的服务器中
配置好服务器后,要把项目公钥添加到所有服务器的 ~/.ssh/authorized_keys
中
echo '公钥' >> ~/.ssh/authorized_keys
其他配置
根据需求配置脚本、配置文件、共享目录等配置。
开始部署
选择环境和分支(或者tag、commit)即可进行部署,还可以一键复制 curl 命令进行部署
参与项目
您可以直接给项目提交 PR 或者 issue 参与到项目中来,也可以直接QQ 扫码加入到交流群中提出你宝贵的建议或者意见。
如果加群失败可以加我微信 qbhy0715 拉你进群