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

qbhy · · 1156 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

# Goal-Piplin 这是一款基于 Go 和 Goal Framework 开发的前后端分离的部署工具。 前端: https://github.com/qbhy/goal-piplin-views 后端: https://github.com/qbhy/goal-piplin > 疯狂求 star ✨✨✨ ## 前言 以前部署工具一直用的都是基于 laravel 开发的 [Piplin]( https://github.com/piplin/piplin) ,但是由于它已经好久没更新了,甚至 PR 也没有处理,显然已经被荒废了,而 PHP 生态一直在更新,最终导致我放弃了 Piplin 。而且我自己开发了一个 Golang 框架,刚好可以写一个 Go 版本的 Piplin 来丰富 Goal 的生态,于是乎我写了个这个项目。 ## 有啥功能 一般的部署工具有的功能都有,项目分组、自定义脚本、配置文件、共享文件等都是支持的。 * 一键部署(调用 POST 接口部署) * 服务器组(服务器组和项目是多对多的关系) * 支持协作(就是项目和分组可以邀请别人一起操作和部署) ## 安装 克隆代码 ````bash git clone https://github.com/qbhy/goal-piplin.git ```` 使用 docker compose 启动服务(包括 mysql 、redis 、views 和 server ) ````bash docker compose up -d ```` 执行迁移 ````bash docker compose exec server /var/www/piplin migrate ```` 初始化用户和密钥 ````bash docker compose exec server /var/www/piplin init ```` > 默认账号为 piplin ,密码为 password nginx 配置 ````bash cp nginx.conf /etc/nginx/site-enabled/piplin.conf ```` > 这一步可以根据自己的需要修改路径和 piplin.conf ## 更新 如果 Goal-Piplin 有更新,会自动打包和推送最新镜像到 docker 仓库中,此时您只需要在你的 Goal-Piplin 目录执行以下命令即可 ```bash make update ``` ## 使用 #### 创建项目 可以选择已有密钥或者新建密钥 ![]( https://cdn.learnku.com/uploads/images/202405/05/6822/gH8hKzIlwC.png!large) ### 将公钥上传到 git 仓库中 通常添加到部署公钥中即可 ![五一没事做,用 Go 写了个简单实用的部署工具,大伙来看看吧]( https://cdn.learnku.com/uploads/images/202405/05/6822/OtboVqcorc.png!large) github 举例 ![五一没事做,用 Go 写了个简单实用的部署工具,大伙来看看吧]( https://cdn.learnku.com/uploads/images/202405/05/6822/L4BJ4lyfea.png!large) ### 添加环境 ![五一没事做,用 Go 写了个简单实用的部署工具,大伙来看看吧]( https://cdn.learnku.com/uploads/images/202405/05/6822/sqWMdZwysW.png!large) 添加环境后需要配置环境对应的服务器或者机柜 ![五一没事做,用 Go 写了个简单实用的部署工具,大伙来看看吧]( https://cdn.learnku.com/uploads/images/202405/05/6822/dF5UYJi1sZ.png!large) ### 将公钥添加到对应的服务器中 配置好服务器后,要把项目公钥添加到所有服务器的 `~/.ssh/authorized_keys` 中 ```bash echo '公钥' >> ~/.ssh/authorized_keys ``` ### 其他配置 根据需求配置脚本、配置文件、共享目录等配置。 ![五一没事做,用 Go 写了个简单实用的部署工具,大伙来看看吧]( https://cdn.learnku.com/uploads/images/202405/05/6822/Y0XCcfmgBV.png!large) ![五一没事做,用 Go 写了个简单实用的部署工具,大伙来看看吧]( https://cdn.learnku.com/uploads/images/202405/05/6822/pleseHyA2g.png!large) ![五一没事做,用 Go 写了个简单实用的部署工具,大伙来看看吧]( https://cdn.learnku.com/uploads/images/202405/05/6822/SDWJbduX9y.png!large) ### 开始部署 选择环境和分支(或者 tag 、commit )即可进行部署,还可以一键复制 curl 命令进行部署 ![五一没事做,用 Go 写了个简单实用的部署工具,大伙来看看吧]( https://cdn.learnku.com/uploads/images/202405/05/6822/LQ6YzVg59i.png!large) ## 参与项目 您可以直接给项目提交 PR 或者 issue 参与到项目中来,也可以直接 QQ 扫码加入到交流群中提出你宝贵的建议或者意见。 ![五一没事做,用 Go 写了个简单实用的部署工具,大伙来看看吧]( https://cdn.learnku.com/uploads/images/202405/05/6822/gxDxNjwknZ.png!large) > 如果加群失败可以加我微信 qbhy0715 拉你进群

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1156 次点击  ∙  1 赞  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传