问题的前提
作为开发人员,我们需要知道客户端使用的软件与我们交付给他们的软件完全一样。我们还需要开发堆栈不要成为移动的目标。为了达到这些目的,软件更新应该完全由开发人员控制。
问题是
我可以禁用所有的自动更新(核心,插件,主题)在OctoberCMS?
首选的更新方法
为了避免任何“破坏”的变化,我想通过一个组合更新现场(和测试)网站
*从开发服务器到测试/实况的git-ftp
和
* php artisan october:up
详细信息
在https://octobercms.com/docs/plugin/updates中有一节说,
更新过程 当发生下列任何情况时,十月将自动执行更新过程: 1)当管理员登录到后端时。 2)使用后端区域的更新功能对系统进行更新。 3)当控制台命令
php artisan october:up
从应用程序目录在命令行中调用时。
( 1)和3)不提供任何机会避免可能无意中“破坏”一个活动网站的变化:
每次管理员登录到活动站点时,都可能会上传和安装可能会破坏的更改。
在3)为更新插件更新数据库的过程中,系统的其他部分也会更新,其中
( a)破坏现场
( b)使现场与开发和测试不同步。
同一页上还有一个章节说,
重要更新 有时候,一个插件需要引入一些功能来破坏已经使用插件的网站。如果version.yaml文件中的更新注释以三个感叹号(!)开头然后,它将被认为是重要的,并将要求用户确认,然后更新。一个重要的更新注释的例子: 1.1.0:这是一个重要的更新,包含中断的更改。 当系统检测到一个重要的更新时,它将提供三个选项来进行: 确认更新这个插件(只有一次)跳过这个插件(总是) 确认评论将像往常一样更新插件,或者如果该评论被跳过,它将不会更新。
然而,这方面有两个问题:
1)插件作者必须对更新进行彻底的测试,注意‘破坏的更改’,并将!!!
添加到版本文件中。
2)更新可能不会在标准意义上“破坏”网站,但它可能会造成不必要的副作用,这可能实际上相当于破坏。
可以禁用cms.php
配置文件中的核心更新:
/* |------------------------ 防止应用程序更新 |------------------------ | 如果使用composer或git下载核心文件的更新,请设置如下 值为“true”,以防止更新网关试图下载 再次将这些文件作为应用程序更新过程的一部分。插件 主题仍将被下载。 | */ 'disableCoreUpdates‘=> false,
但是,正如相关评论中所述,“插件和主题仍将被下载”。
我假设这意味着安装了下载的和。
那么,我可以禁用所有的自动更新(核心,插件,主题)在OctoberCMS?
如果没有,是否有其他方法可以避免这些问题,或者我是否应该在OctoberCMS github页面上发布一个非常需要的特性?
即使在开发服务器上,自动更新插件也是一个问题,这一点很有争议:
当开发一个网站的时候,它突然崩溃了。此中断是由于开发人员所做的更改,还是后端登录期间发生的插件后台更新造成的?
这是否意味着,在开发网站时,我必须让自己永久登录,以避免启动更新过程?
发布于 2017-08-14 10:28:14
更新过程与您在问题中列出的有一点不同。这一过程如下:
更新过程
1)当管理员登录到后端时,就会安装任何已经下载的更新(迁移等)。
2)当使用后端区域的更新功能更新系统时,将下载并安装更新。
3)当从应用程序目录在命令行中调用控制台命令php artisan october:up
时,将安装已下载的更新。
4)使用控制台命令下载并安装php artisan october:update
更新。
5)当使用composer composer update
下载更新时,您可以使用php artisan october:up
安装它们
https://stackoverflow.com/questions/45596942
复制相似问题