按照我发布过的所有民意调查问题的传统,下面的民意调查有一个根本的缺陷。 在这种情况下,没有“上个月”和“从未”之间的选项,但结果很有趣
上次你直接 SFTP(或等效方式)进入服务器并更改文件是什么时候?
— Chris Coyier (@chriscoyier) 2018 年 10 月 9 日
我试图通过这个民意调查来了解有多少人直接编辑生产文件,而有多少人本地工作。 我认为我不需要进行重大调查就能知道,这是大多数人的做法,而且比过去更多。
如今,大多数工作流程都让我们在本地工作,并将新文件和更新文件推送到版本控制系统,甚至通过更高级的系统,可能是 持续集成流程、测试流程、操作、部署 - DevOps 的世界很大! 我们很少跳过队列,直接进入生产服务器并进行实时操作。 他们有时称之为牛仔编码。
但仅仅因为你通常不以这种方式编写代码,并不意味着你永远不会这样做,这也是这个民意调查的另一个缺陷。 我认识一些 DevOps 极客,他们不断通过 SSH 连接到服务器来操作配置文件。 我个人仍然会跳入 Coda,有时会直接 SFTP 到服务器以编辑 .htaccess
文件,这些文件有时在我的生产站点和开发站点上,而且我通常会 .gitignore
。
总之,我认为这是一个很有趣的话题,所以请随意在评论中谈论。 我很想知道你在多大程度上进行牛仔编码。 你一直这样做,并且喜欢这样做吗? 你这样做是因为你还没有学习其他方法,或者你的工作场所要求这样做? 你对此有自己的理念吗? 让牛仔竞技开始吧。🤠
好吧,如果你算上直接 SFTP 到服务器并进行更改,那么它每天都会发生多次 - 有时每小时甚至每分钟都会发生多次。 不过,我需要说明一下,几乎所有内容都在服务器的开发端,然后被推送到实时生产端。 它们都位于同一台服务器上,只是在不同的 .htaccess/IP 控制的目录中。 由于我是唯一维护公司 4 个部门网站和各种利基网站的开发人员,所以我不需要也不使用版本控制、预处理器或大型样板框架(例如 bootstrap)。 虽然其中包含一些 jQuery,并且我们确实使用简单的 CMS 来进行电子商务,但所有这些都被大量修改以满足我们的需求,并且我对所创建的项目实际上是我自己创建的感到更加安心。
我是那个与当今网站/网络应用程序构建方式截然相反的人。 我发现如今所有用于网络开发的命令行操作都非常具有挑战性,而 HTML、CSS、Javascript、MySQL、PHP 等都很容易理解和编写。 我的意思是,我也明白你不希望每次都重新发明轮子。 如果我之前构建过某个布局,或者为类似的东西创建过表单,我完全会把它剪切粘贴进来,然后根据自己的需要进行修改。
所以根据上面“牛仔编码”的定义,我想我做了不少。
听起来是最棒的方式。 这听起来非常像我自己的方法。
我完全同意。 我 10 年前开始构建网站,休息了大约 4 年。 当我回到编码领域时,我发现这个世界与我离开时完全不同。 我现在正在学习 React,它似乎比 php/mysql 复杂得多,而且通常不必要地复杂。
我认为最重要的是选择适合工作任务的工具。
祝一切顺利。
几分钟前。 我生活在边缘。
两天前。 这并不罕见。
我上传了我制作的每个项目或练习文件,主要是为了测试它们在家庭中不同设备上的显示效果 - 每周几次。 当你制作响应式设计时,这非常有用。
我们公司管理着数百个网站,因此为我们正在处理的每个项目创建本地环境或开发环境并不实际。
通常,我会使用本地环境开始一个新的网站项目。 一旦初始构建完成,我就会将其移动到开发环境以进行内容输入、测试和收尾工作。 然后,它会被推送到生产环境,本地和开发环境会被删除。 当需要对现有网站进行更改时,我们会打开本地存储库,进行任何更改,并将代码通过 SFTP 推送到服务器以进行测试。
这不是理想的选择,我更希望在本地拥有更精简的测试环境,但由于我们维护的项目数量众多,这并不实际。 话虽如此,在阅读完这篇文章后,我想到了一件事…… 我们的大多数项目都是 WordPress 网站。 我可以设置一个精简的本地 WordPress 安装,并将每个存储库链接到主题文件夹。 这样,我至少可以在本地进行一些基本测试。
哈哈,我认为对于大型网站或任何重要的东西来说,这通常不是一个好主意,而且我在工作中从不这样做…… 但我有一个静态的单页个人网站,没有设置自动化或版本控制,有时我会对该网站这样做。 我觉得这“可以”(虽然可能不太完美),因为它非常简单,随便吧,规则去死,世俗的人去死,我做我想做的。
你的调查遗漏了问题中重要的部分:你是在编辑重要的东西上的生产文件,还是你个人很少流量的爱好网站?
如果没有这个问题,调查结果充其量是毫无意义的,最糟糕的是很危险的。 我猜想,如果只有商业编辑是指标的一部分,那么答案会改变,这将减少严重编辑的数量。 这些结果可能会让一些人相信这是一个好主意,因为每个人都在这样做……
我认为称之为危险有点戏剧性。 这就像说看暴力电影会让人们变得暴力。 人们通常比这聪明,尤其是那些跟上这个行业的人。
此外,代理商在没有版本控制的情况下从头到尾进行“牛仔编码”的小型 WordPress 网站(预算在 5000 美元 - 10000 美元之间)仍然非常常见,并在服务器上直接执行更改/维护,我每天都看到这种情况。
能够 100% 遵守最佳实践是理想的,但并不总是切合实际。
几天前,我在服务器上直接修复了一个小的配置文件(通过 SSH)。 告诉测试人员他们可以继续工作,但第二天我才知道它停止工作了:我配置了构建服务器来创建夜间构建,这迫使我在正确的位置进行修复并强制构建……
SSH 有时会快得多,可以为你节省几个步骤,但有时你需要从痛苦的经验中学习到,这些步骤(在构建服务器上运行测试套件)是有作用的。
话虽如此,我通常会在同时在服务器上进行实验时创建这些构建脚本。 有时速度不足会降低生产效率。
我当然理解如果很多人在同一个项目上工作,就需要源代码控制。 但我是一家独资企业,并不处理大型应用程序或网站,只是一些小型企业网站。 我通常在本地开发网站,然后将其上传到演示服务器供客户查看。 然后,准备好后,将其上传到实时服务器。 如果需要对实时网站进行更改,我会在实时状态下进行更改,如果是 css,但我使用 codekit 用本地 css 覆盖实时 css。 这样,我就可以使用本地 css 文件进行 css 测试,当新的 css 确定后,我将其上传到 ftp。 对于 php 更改,我尝试在本地进行,但也进行实时更改。
我每天都这样做。 在我的工作中,我是三个开发人员之一,我们每个人都分配了自己的个人项目,因此我们很少需要处理彼此的东西。 在开发过程中,我们通常会有内容编辑人员和项目经理同时在网站上,因此我们的网站从头到尾都在生产服务器上。
几年前我写了一个脚本,用于更新网页和内网服务器上的静态资产,它使用 SFTP,所以说对我来说这是很平常的事。如果你指的是,我是否会交互式地修复网页服务器上的问题……是的,但不太频繁。大多数情况下,当我进行类似操作时,是在调试一些愚蠢的错误;一旦找到问题,我会对我的部署配置进行必要的更改并重新部署,这样手动更改就不会无限期地保留。
……而且我不确定我是否真正回答了这个问题。