Fixhub, 一款基于最新版本 Laravel 5.3 开发的开源 Web 自动部署系统.

Fixhub 是一套免费、开源,基于最新版本Laravel 5.3框架开发的web自动上线部署系统。

老规矩,废话少说,上图:

1、首页

file

2、项目详情页

file

3、测试服务器连接状态

file

4、填写上线单

file

5、上线进行时

file

6、完成上线

file

7、查看服务器控制台输出

file

file

8、Slack通知

file

演示地址:http://fixhub.org/ 源码地址: https://github.com/Fixhub/Fixhub or http://git.oschina.net/Fixhub/Fixhub

个人能力有限,程序肯定存在很多不成熟的地方,欢迎大家拍砖,谢谢。

本帖已被设为精华帖!
附言 1  ·  7年前

最近更新

改进秘钥管理。多个项目可以共享秘钥。

file

file

本帖由 Summer 于 7年前 加精
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 42

666,之前用过瓦力部署,感觉楼主这个功能更多。问一下,部署是原子操作吗?

7年前 评论

赞赞,我就奇怪有段时间不见楼主,原来在憋大招~~:laughing:

7年前 评论

太棒了,下载学习下

7年前 评论

正想找类似的学习,太及时了

7年前 评论
Ryan

:+1: , 不知道和Deployer比怎么样,有空试试

7年前 评论

@MrJing 还不是原子操作。

7年前 评论

不错:+1: 很久前写过一个svn上线系统,现在用envoy脚本。

7年前 评论

支持!希望越来越完善!

7年前 评论

我想深度使用你这个项目,请问你会长久维护,持续更新吗?

7年前 评论

@xiejianwen

感谢支持,欢迎多提想法,多多贡献。

7年前 评论

@phecho 你的demo不能用啊

7年前 评论

@xiejianwen 可以登录浏览,因为我设置了权限。只有admin可以发起部署。

7年前 评论

@phecho 不行哦,登陆后500错误。http://fixhub.org/

7年前 评论

@xiejianwen 不会啊。你刚还试了一把,没有问题。

用户名:demo
密码:fixhub

7年前 评论

@phecho 确实不行,这个能不能贴图,我发给你看。或者能不能私聊的

7年前 评论

@phecho , I can run , what's the problem

7年前 评论

@xiejianwen

cache分配的目录刚好一个是以root创建的,忘了修改了。正好被你赶上了。

已修改cache driver为memcached.

7年前 评论

@phecho 楼主效率真高,学习了学习了:+1: :sunglasses:

7年前 评论

看起来不错,已加星

7年前 评论

目前再用 Envoyer, 比较稳定, 自己搭建的有点悬哒哒的, 不过楼主的代码一定要学习一下.

7年前 评论

@dinghua 可视化还是挺重要的。

7年前 评论

可以回滚吗?

7年前 评论
leo

自己也写过一个类似的东西,不过不适合开源,楼主这个赞,有时间给你提PR

7年前 评论

@leo 期待你的PR :+1:

7年前 评论

file

新增测试服务器连接状态的控制台输出。

7年前 评论
leo

PR是提交到哪个分支?安装过程中发现一些问题

7年前 评论
leo

尝试了一下,感觉这个系统的设计和我个人对部署的理解差别挺大的

1.项目部署路径应该是在项目中设置而不是在服务器中设置,需要部署系统的企业、组织这点基本规范应该还是有的。运行用户同理。

2.心跳检测不像是部署系统应该做的事情

3.部署系统最好是语言无关的,创建项目的时候可以勾选composer让我很懵逼。

4.一个比较完整的部署流程通常包含编译->单台->全量这个几个步骤,小项目可以忽略单台这个步骤,大项目的全量还需要变成分批。这里解释一下编译,拿laravel的项目举例,拿到源码之后通常还想需要执行composer installgulp之类的命令,如果把这些命令放在线上服务器运行一来占用内存cpu带宽,二来万一某台服务器失败还得全量回滚,因此需要一个编译步骤,在全量上线之前在编译机上将这些事情做好,然后删掉.git等无用的目录,之后打包。全量部署的时候服务器直接拉去这个包就可以了,解压就能用。

7年前 评论

@leo

@leo 非常感谢。
1、为了单台物理机可部署多个服务,可以靠规范去约束,个人觉得这个不是什么问题。
2、可以不设置
3、部署本身是与语言无关的,勾选个composer并不是为了安装composer,而是问是否需要安装开发包,只是为composer项目更为方便。部署脚本通过判断是否存在composer.json来确定是一个composer项目,如果包里没有composer.json就不需要执行composer
4、单台->多台,甚至可以跳过等,确实需要加上,gulp之类的我们目前的做法就是在开发或持续集成阶段执行后将结果提交到git库的。

7年前 评论
leo

@phecho

第2点我想表达的是,部署系统应该专注部署这件事,部署系统加监控功能就感觉买了一把雨伞上面挂一本书一样

第3点,我认为是否需要composer install这个应该交给使用者自己在部署脚本中去做

7年前 评论

@leo 考虑简化步骤。

7年前 评论

@leo
已将composer剥离。现在部署做到真正意义上的与语言无关。 :smile:

7年前 评论
DukeAnn

厉害厉害

7年前 评论

file

允许指定commit进行上线。

7年前 评论

@phecho 还在维护吗?

6年前 评论

@dinghua 我们内部一直在使用。

6年前 评论

已经laravel从5.3升级到5.5

6年前 评论

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