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

Goal-Piplin

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

疯狂求 star ✨✨✨

前言

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

有啥功能

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

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

在线体验

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

安装

克隆代码

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 拉你进群

本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 1周前 自动加精
qbhy
讨论数量: 6

但是启动时报错了,是包问题吗:

file

2周前 评论
qbhy (楼主) 2周前
qbhy (楼主) 2周前
ykxiao (作者) 2周前
qbhy (楼主) 2周前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!