Fixhub, 一款基于最新版本 Laravel 5.3 开发的开源 Web 自动部署系统.
Fixhub 是一套免费、开源,基于最新版本Laravel 5.3框架开发的web自动上线部署系统。
老规矩,废话少说,上图:
1、首页

2、项目详情页

3、测试服务器连接状态

4、填写上线单

5、上线进行时

6、完成上线

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


8、Slack通知

演示地址:http://fixhub.org/ 源码地址: https://github.com/Fixhub/Fixhub or http://git.oschina.net/Fixhub/Fixhub
个人能力有限,程序肯定存在很多不成熟的地方,欢迎大家拍砖,谢谢。
本帖已被设为精华帖!
最近更新
改进秘钥管理。多个项目可以共享秘钥。


本帖由 Summer
于 9年前 加精
关于 LearnKu
666,之前用过瓦力部署,感觉楼主这个功能更多。问一下,部署是原子操作吗?
赞赞,我就奇怪有段时间不见楼主,原来在憋大招~~:laughing:
太棒了,下载学习下
正想找类似的学习,太及时了
:+1: , 不知道和
Deployer比怎么样,有空试试@MrJing 还不是原子操作。
@maxincai 一起学习。
不错:+1: 很久前写过一个svn上线系统,现在用envoy脚本。
支持!希望越来越完善!
我想深度使用你这个项目,请问你会长久维护,持续更新吗?
@xiejianwen
感谢支持,欢迎多提想法,多多贡献。
@phecho 你的demo不能用啊
@xiejianwen 可以登录浏览,因为我设置了权限。只有admin可以发起部署。
@phecho 不行哦,登陆后500错误。http://fixhub.org/
@xiejianwen 不会啊。你刚还试了一把,没有问题。
用户名:demo
密码:fixhub
@phecho 确实不行,这个能不能贴图,我发给你看。或者能不能私聊的
@xiejianwen
可以截图啊。
@phecho look,look
@xiejianwen
please try again.
@phecho , I can run , what's the problem
@xiejianwen
cache分配的目录刚好一个是以root创建的,忘了修改了。正好被你赶上了。
已修改cache driver为memcached.
@phecho 楼主效率真高,学习了学习了:+1: :sunglasses:
看起来不错,已加星
目前再用 Envoyer, 比较稳定, 自己搭建的有点悬哒哒的, 不过楼主的代码一定要学习一下.
@dinghua 可视化还是挺重要的。
可以回滚吗?
@weelion 可以
自己也写过一个类似的东西,不过不适合开源,楼主这个赞,有时间给你提PR
@leo 期待你的PR :+1:
新增测试服务器连接状态的控制台输出。
PR是提交到哪个分支?安装过程中发现一些问题
@leo 发送到1.0
尝试了一下,感觉这个系统的设计和我个人对部署的理解差别挺大的
1.项目部署路径应该是在项目中设置而不是在服务器中设置,需要部署系统的企业、组织这点基本规范应该还是有的。运行用户同理。
2.心跳检测不像是部署系统应该做的事情
3.部署系统最好是语言无关的,创建项目的时候可以勾选
composer让我很懵逼。4.一个比较完整的部署流程通常包含
编译->单台->全量这个几个步骤,小项目可以忽略单台这个步骤,大项目的全量还需要变成分批。这里解释一下编译,拿laravel的项目举例,拿到源码之后通常还想需要执行composer install、gulp之类的命令,如果把这些命令放在线上服务器运行一来占用内存cpu带宽,二来万一某台服务器失败还得全量回滚,因此需要一个编译步骤,在全量上线之前在编译机上将这些事情做好,然后删掉.git等无用的目录,之后打包。全量部署的时候服务器直接拉去这个包就可以了,解压就能用。@leo
@leo 非常感谢。
1、为了单台物理机可部署多个服务,可以靠规范去约束,个人觉得这个不是什么问题。
2、可以不设置
3、部署本身是与语言无关的,勾选个composer并不是为了安装composer,而是问是否需要安装开发包,只是为composer项目更为方便。部署脚本通过判断是否存在composer.json来确定是一个composer项目,如果包里没有composer.json就不需要执行composer
4、单台->多台,甚至可以跳过等,确实需要加上,gulp之类的我们目前的做法就是在开发或持续集成阶段执行后将结果提交到git库的。
@phecho
第2点我想表达的是,部署系统应该专注部署这件事,部署系统加监控功能就感觉买了一把雨伞上面挂一本书一样
第3点,我认为是否需要composer install这个应该交给使用者自己在部署脚本中去做
@leo 考虑简化步骤。
@leo
已将composer剥离。现在部署做到真正意义上的与语言无关。 :smile:
厉害厉害
允许指定commit进行上线。
@phecho 还在维护吗?
@dinghua 我们内部一直在使用。
已经laravel从5.3升级到5.5