草庐IT

DEPLOYMENT

全部标签

php - 在生产中升级到 Drupal

有没有人对生产中的安装有好的Drupal升级策略?没有人在书中讨论过这个问题,而且很难在论坛和电子邮件列表中找到明确的答案。例如:锁定产品,不允许数据更新复制产品将产品数据库复制到开发关闭dev中的所有模块在开发中升级核心Drupal(必要时更新数据库)在开发中升级模块(更新数据库如果必要的)开启模块测试将代码和数据库迁移到产品重新打开网站 最佳答案 您的策略听起来不错,但它需要网站在很长一段时间内处于“只读”模式。这并不总是可行的。另外,我不太确定您为什么要打开和关闭所有模块?我可以提出一个稍微不同的方法吗将产品数据库复制到开发在

php - 替换服务器上文件的最佳方法

我必须用PHP编写脚本,它会不时地动态替换服务器上的一些文件。很简单,但问题是我想避免用户在替换期间请求此文件的情况。然后他可能会得到未完成的文件甚至错误。对我来说最好的解决方案是在替换期间阻止访问我的网站,例如设置.htaccess将所有请求重定向到包含短暂休息信息的页面。但通常.htaccess文件已经存在,所以可能会出现服务器获取未编译的.htaccess文件的情况。有什么办法可以解决吗?编辑:非常感谢大家的所有回答。你太棒了。@ircmaxell你的想法对我来说听起来很棒。我读了PHP.net上的家伙写的东西,但我不知道我是否理解正确。那么,告诉我:如果我执行您编写的所有步骤并

php、用户上传文件、版本控制、网站部署

我有一个网站,我会定期更新代码。我将它保存在版本控制中。当我想部署站点的新版本时,我执行导出,然后将服务目录名称符号链接(symboliclink)到部署目录。有一个地方可以让用户上传文件,我有一次发现,部署新版本后,用户文件不见了!当然,我没有将它们添加到存储库中,并且由于所服务的站点来自导出站点,因此无论如何它们都没有上传到版本控制的目录中。PHP还没有集成svn功能,所以我无法通过编程对用户上传的文件做很多事情。我的解决方案是创建一个额外的网站files.website.com,它位于所服务网站的平行目录中,并且在受版本控制的目录之外提供服务。这样,当我对网站进行升级时,它们就不

php - localhost/live - 通过 HTTP_HOST 检测

假设我在本地开发并在实时服务器上调试小东西。在我的代码中加入这样的东西是个好主意吗?:$is_local=(strpos($_SERVER['HTTP_HOST'],'localhost')!==false);define('DEBUG',$is_local);然后在设置内容时通过我的代码使用它?$mysql_settings=(DEBUG)?array(/*localhostsettings*/):array(/*livesettings*/);这样,我可以在本地和本地主机上使用相同的文件,所以我可以同步而不用担心出错,例如实时服务器上的连接设置。这个想法是好是坏?

php - 项目管理/多版本

我正在寻找有关如何管理一个项目的多个版本的一些提示和技巧。目前我有一个应用程序的开发版本,其中包括一些改进和新功能。与此同时,我必须解决一些错误。修复新功能未触及的文件上的错误很容易,但只要我触摸具有新功能的页面。每次都需要注释几行代码。我觉得这不是最好的玩耍方式。必须有一个足够好的方法来解决这个问题。问题的另一方面是部署。通常我必须等待数周才能在网站上上传新功能。与此同时,有时我往往会忘记每个已修改(或评论错误)的文件,这可能会产生错误。我听说过ruby迷的Capistrano,这对我有帮助吗?我主要是一名PHP/asp.net开发人员。 最佳答案

php - 部署时运行脚本一次

我们目前使用Phing进行部署,并使用dbdeploy应用任何数据库更改。但是,有时我们希望在部署期间进行一些更改,这些更改可以由我们的对象模型更好地处理,因此我们编写了一次使用我们在部署后手动运行的PHP脚本。是否有类似于dbdeploy的任何现有解决方案来处理正在运行的脚本,更重要的是,跟踪哪些已运行以便每个脚本只运行一次? 最佳答案 我认为这对其他人也可能有用。如果你想不出其他解决方案,我认为最好的办法是查看实现DBDeploytask的文件。,将其复制到自定义任务中,重用数据库检查功能,但不是生成SQL脚本,而是执行您需要的

php - 带有 Composer 的多个应用程序

有一个主应用,我们称它为APP。APP有几个依赖项(包括开源项目和专有库)。有多个客户端使用他们自己的APP实例(在我管理的不同域上)。其中一些客户端使用的APP版本略有调整。我通过为每个客户端创建一个特定模块(让我们称之为SM)来实现这一点,我只是将其添加到他们的APP实例中(这样我就不会更改APP中的任何代码)。目前,我已经实现如下:本地开发APP,使用Composer更新其依赖(composerupdate),pushAPP到centralrepo对于每个常规客户端,从中央仓库拉取APP并安装Composer依赖项(composerinstall)对于具有特定实现的客户端,创建一

php - 将完全没有 VCS 的生产站点迁移到 Git

我想我会把它扔在那里,看看我是否能得到一些可靠的建议。我有一个代码库相当大的生产站点,并且刚刚在上面安装了Git,测试站点也是如此。我有一个本地盒子,基本上是集成点。我们的团队将推送到本地盒子,小侏儒会过来把所有东西都带到我们不同的服务器上——或者至少这是我最接近实现Git的地方。我真的丝毫不知道从哪里开始。我有一个大的、挑剔的、遗留的代码库,我害怕在美好的一天接触它。Git本来是一个大清理过程的起点,我只是不知道如何开始。我正在考虑基于我的生产文档根创建一个裸露的.git存储库(带有适用的.gitignore东西),然后克隆到测试和开发环境,然后个人将克隆开发并开始工作,推回开发然后

error: Metrics API not available 查看k8s中pod的cpu,memory的使用率情况

root@docker03:~#kubectltoppoderror:MetricsAPInotavailable需要在k8s集群安装metrics-server1.下载metrics-serverwgethttps://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml-Ometrics-server-components.yaml2.更改为阿里云镜像地址sed-i's/k8s.gcr.io\/metrics-server/registry.cn-hangzhou.aliyunc

php - Gitlab CI如何部署PHP?

我使用gitlab、gitab-ci,我对持续集成还很陌生。我尝试在代码推送时通过bash脚本进行测试和部署。这就是我的.gitlab-ci.yml在部署时的样子我尝试更改用户但不会工作before_script:-composerinstall--prefer-dist>/dev/nullstages:-build-test-deployunitTesting:stage:testscript:-echo"RunningPHPUnitTests"-phpvendor/bin/phpunit--colors--debug--coverage-textjob_deploy_master: