Yii部署流程

技术分享 · laughmaker · 于 6年前 发布 · 2810 次阅读

讨论一个问题,大家一般对Yii项目,是怎么部署的?

共收到 19 条回复 技术分享
Fecmall#16年前 0 个赞

说详细一点,是安装还是部署到线上?

安装看文档:http://www.fecshop.com/doc/fecshop-guide/develop/cn-1.0/guide-fecshop-about-hand-install.html

laughmaker#26年前 0 个赞

就是一般的Yii项目,不限于fecshop,部署到线上。 比如今天完成一某个小功能,部署到线上。 过几天修复了几个bug,更新到线上。

Fecmall#36年前 0 个赞

@laughmaker #2楼 你说的是svn 和 git之类的代码版本控制同步工具?

laughmaker#56年前 0 个赞

不是啊,我是讲的,怎么样在功能完成后,将修改过后的功能,从开发环境部署到正式环境里去。 我自己目前的话,是如果小量的修改,比如只修改了一两个文件,那么我直接替换那两个文件。 如果修改比较多,那我就把整个代码替换到线上去。

Fecmall#66年前 0 个赞

用svn就可以

laughmaker#76年前 0 个赞

@Terry #6楼 svn是代码版本管理啊 难道我每次提交代码,只是做版本管理,都要同步到线上服务器?这不合理啊,有可能我提交的代码,功能都是不完整的。这很正常啊。

Fecmall#86年前 0 个赞

@laughmaker #7楼 提交的代码到svn,线上环境不更新代码就行了。

你自己去想拌饭吧

laughmaker#96年前 0 个赞

@Terry #8楼 我说的就是更新线上代码,把测试通过的代码,部署到线上去,这一个流程。至于代码,我们一直是用git,这个都不存在什么问题。 如果文件替换,如果更新稍微多一些,就容易出错。 如果整个替换,那么缓存就经常被清理掉。 所以我想问问你们线上环境,一般是怎么部署的流程。

Fecmall#106年前 0 个赞

我目前是这样:

本地和线上一致的文件用svn,git

本地和线上不一致的文件,譬如mysql配置文件等文件,线上手动编辑更改文件。

laughmaker#116年前 0 个赞

@Terry #10楼 不会吧,你们在线上服务器装了git?svn?用这个来同步代码布署到线上?实时同步啊?

Fecmall#126年前 0 个赞

@laughmaker #11楼 线上手动去执行svn up

13楼 已删除.
Fecmall#146年前 0 个赞

@renothing #13楼 常用的配置扔到数据库里面,然后初始化的时候从数据库加载过来,然后和config文件的配置合并。

这个没做,可以根据自己的需求,自己二开一下。

15楼 已删除.
Fecmall#166年前 0 个赞

1.想扔到数据库里面管理配置,可以自己二开去扔,别什么都想fecshop都开发好,做点代码贡献。

2.基于什么原理用配置文件,那么我想反问,基于什么原理,不用配置文件呢?

3.就用linux shell ,本人没有那么多精力兼顾那么多东西,其他的自己二开,fecshop不是一个商业产品,提供一个基础的开源框架,缺什么东西,自己二开,想提什么意见,直接show your code,不想空谈一些纯理论的东西,你感觉xxx比较好,你可以按照你的路子实现,直接展示你的代码。

4.其他的不用说,有建议,直接上你建议的代码,本人不想空谈。另外别把自己的个人需求当成全部人的需求,别把一个开源框架的产品当成一个拿过来直接用的产品。

一句话,有问题就发帖,有建议就上你的php代码。

Fecmall#176年前 0 个赞

现在的实现思路肯定会存在某些问题,fecshop也是有很大的工作量在里面,fecshop开发到现在2年之久,没有一分投资,也没有经济收入,别总是抱着完美的态度去看待,用残缺的眼光健全的心态来把这个东西优化好,比理论聊这些更好,本人想抛砖引玉,让更多的人来使用优化,给程序员一个高起点,不管如何,现在是一个可以跑起来的程序,也达到了我当时设计fecshop的初衷,至少满足了我当时的期望,当然,fecshop也会存在这样那样的问题,这样那样的缺陷,在你没有能力提出更好的方式替代现在的代码之前,那么,目前的方式就是最好的。

感觉哪里存在问题,或者不爽的地方,先自己想明白了,是否有可以替代目前的方式的更好方式,然后直接上代码。

Fecmall#186年前 0 个赞

但实际发现还是有不少存在混杂引用,有耦合嫌疑。要拆分部署就要大幅改动入口项目。我在做docker化的时候发现即便做出来分享出来也没多大用,每个人情况都不一样。现在是揉在一起部署,吓跑不少小白用户。拆开应该会逻辑清晰,有利简化部署

回复:

1.不要空说,上代码举例说明你具体的意思。

2.fecshop的servcies是一个结构层,不是微服务化的那个服务,别搞混。

3.你理解的小白是什么层面,解释一下,看不懂

4.给予详细的方案,代码举例解释你的思路

5.升级是不会改变配置文件的,因为升级只会更改vendor下面的文件,本地的配置文件不会更改,本地的配置文件在初始化的时候会覆盖fecshop的配置文件,从而达到重写的目的

Fecmall#196年前 0 个赞

appfront,apphtml5,appadmin之类的是独立的。但实际发现还是有不少存在混杂引用,有耦合嫌疑

回复:请找出来appfront中有引用apphtml5或者其他入口的代码,哪里存在混杂引用!

laughmaker#206年前 0 个赞

@Terry #12楼 哦,理解了。谢了。

laughmaker#216年前 0 个赞

@Terry #12楼 我目前是代码是用git同步到git仓库,需要更新代码的时候,把代码上传到线上应用服务器,然后切换到发布环境,最后用mv命令把代码整个替换掉。

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics