描述: 给vue项目增加了本地代理,也就是给vue.config.js增加了devServer之后,启动项目报错:Vue ERROR TypeError: Cannot read property ‘upgrade’ of undefined
在拿到一个项目之后,如何看入口文件,如何运行项目,我们都会找到 package.json 中的 script 。甚至在做项目做久之后,我们会自己写一些脚本来给开发提效,但你知道 NPM 脚本能做什么吗?你知道如何传递一个参数给脚本?你知道如何执行某个脚本文件么?在这篇文章中,我将分享我如何充分利用 NPM 脚本。
在接触的很多的企业中,持续部署实践依然还有很多不足,基本上部署靠人,更别谈自动化了。我一直强调持续部署是IT交付的核心能力,直接关联到研发/测试和运维多个团队,可以成为一个运维的核心平台。自动化部署能力的高与低,能映射出IT能力的诸多方面的问题,比如说流程上/环境管理上/服务耦合上/平台能力上等等。
如果你经历体验过传统的应用发布,你可能就会觉得CICD有足够吸引你的地方,反之亦然。一般一个研发体系中都会存在多个角色:开发、测试、运维。当时我们的应用发布模式可以能是这样的:
持续集成和持续部署(CI/CD)是许多组织使用的敏捷方法。它正在帮助这些组织有效、安全地发行软件。
持续交付是一种软件工程方法,团队可以在短时间内生产软件,以确保可以随时可靠地发布软件,并且在发布软件时,可以手动进行发布。
经常会发生这样的情况:尽管拥有测试环境的测试,但最终未能从中完全避免在生产环境发现BUG。不禁让人思考:质量检查环境中出了什么问题?为什么在测试环境中已经完全通过的新功能在迁移到生产后又出现BUG?
Docker在2014年迎来了迅猛的发展,不过在年底传出了围绕Docker的一些声音,声称容器服务基础设施已达到了准备用于生产环境的程度。今年,Gartner等调研公司已经列出了Docker部署到企业中分布式应用程序中的安全挑战,不过都相当支持Docker总体的发展方向。新年伊始,已经出现了好几个例子,它们证明了使用容器以便持续改进和日常部署在生产环境中的准备就绪状况。 用户们的体验不一而足:有的用户坚信可以使用Docker大规模部署分布式Web应用程序;有的用户已把Docker整合到生产环境中;有的用户决
创建这个策略只是一个开始而已,随着项目的进行,它也会改变。发布策略的一个关键部分就是发布计划,它用来描述如何执行发布。
可观察性是DevOps团队的重要组成部分,它可以帮助组织从系统的输出信息,推断系统内部状态。它是一个持续的过程,从你的CI/CD流水线开始,并贯穿于应用程序的整个生命周期。
我们通常会关注ERR日志,但很遗憾,这些日志反而导致排查方向错误。实际上,关键的信息并不在这里。 关键在第一行make打印的日志,由于这不是npm打印的信息,没有ERR标识,所以容易被忽略。
《持续交付》提出了一系列贯穿整个软件交付生命周期的最佳实践。但它成书的年代(2010年)云计算尚未得到广泛应用,尤其在软件开发过程中的应用非常有限。如果站在今天的技术水平和对云计算的理解水平基础上回顾
我们以前windows跑.net Framework程序的时候,发布,自己乖乖的替换程序;备份,也是自己一个一个的重命名备份;回滚,发布遇到问题的回滚更是不用说了;运维很是怕我们 这些用windows的啊;
软件工程团队中的管道是一组自动化的流程,使开发人员和DevOps专业人员能够可靠,高效地编译,构建并将代码部署到生产计算平台。没有硬性规定可以说明管道需要什么样的内容以及必须使用的工具,但是管道最常见的组件是:构建自动化/持续集成,测试自动化和部署自动化。
大家好,我是洋子。昨天写了一篇文章《CI/CD是什么》,介绍了持续集成,持续交付,持续部署的概念
在国内不少的研发组织依然通过职责分离的方式来管理研发团队,这种情况下就会造成团队之间合作效率低下、责任互相推诿等问题。我们翻译了以下这篇文章来与读者们一起探讨 DevOps 与职责分离究竟该如何结合在一起,从而更好地提高研发团队的效率。
开发环境时程序猿们专门用于开发的服务器,配置可以比较随意,为了开发调试方便,一般打开全部错误报告和测试工具,是最基础的环境。
有时候,JavaScript(甚至带有类型检查的 TypeScript)会因为其不可预测的特性和缺乏约定而遭到批评。对于那些知道 JavaScript 是为 web 浏览器设计的脚本语言的人来说,这就不足为奇了。
作者:Jesper L. Andersen 原文:How to build stable systems 译者:孙薇 准备工作 第一个决策是最简单却最为重要的,属于意识形态的一种:那就是软件是由开发者控制的。开发者需要控制软件,而不是反过来,让管理者、产生负责人控制软件。 唯一能控制软件的人就是编写它们的人。 第二个决策就是必须拥有能够掌控的小型工作单元。先解决整个问题的一小部分,并部署到生产环境中,显然比让整个大型项目挂掉要好得多。将初期的小型工作单元作为后面探索的测试平台。 开发者有责任一直掌控软件,
大多数功能测试用例和自动化测试用例在测试环境中以速度验证通过,但是很难保证这些用例在生产环境中具有相同的效果。特别是跨浏览器测试,则需要确保跨各种操作系统,运行在不同操作系统上的各种浏览器,浏览器版本无缝呈现Web应用程序。毕竟,在您实际进行生产测试之前,您可能永远都不知道用户会采用哪种鬼一样的搭配组合访问网站,对吗?
DevOps这个术语已经存在了很多年。大小公司都将DevOps概念用于不同目的,例如,以提高软件质量。在此博客文章中,我们定义了DevOps,介绍了它的优缺点,重点介绍了一些概念并了解它们如何影响整个组织。
在AI辅助编程飞速发展的时代,健全的DevOps实践显得尤为重要。本博客将演示如何在构建和增强CI/CD流水线中高效利用AI,并强调虽然AI带来重大进步,但人的专业知识仍不可替代。
CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD 的核心概念是持续集成、持续交付和持续部署。作为一个面向开发和运营团队的解决方案,CI/CD 主要针对在集成新代码时所引发的问题(亦称:“集成地狱”)。
DevOps是将IT开发和运营结合在一起的一组实践。它主要是为了减少提交变更和生产变更之间的时间。这些实践促进了开发人员和运营工程师之间的协作,因此可以实现连续的软件交付,而解决的挑战不那么复杂,并且可以更快地解决所出现的问题。
译自 7 Benefits of Developer Access to Production。
“还是数据问题!之前做的一个功能有一部分数据迁移工作没有做好,导致生产环境有脏数据,委托人的联系人已经不为该委托人服务了,应该移除掉的……”
测试环境(Testing environment)是指测试运行其上的软件和硬件环境的描述,以及任何其它与被测软件交互的软件,包括驱动和桩。测试环境是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称。
在当今的软件开发生态系统中,持续交付和持续改进已经成为核心的原则。为了实现这些原则,开发团队需要采用一种高效的部署方法,而蓝绿部署就是其中的一种重要策略。本文将详细介绍蓝绿部署的原理、实施步骤以及在DevOps环境中的优势。
食之无味,弃之可惜 在企业级应用的“季度或月度发布”被认为是领域最佳实践的时候,在应用部署到生产环境之前维护一个完整的环境来进行集成测试是非常必要的。但是,集成测试环境和集成测试本身有着如下的问题: 环境本身脆弱,而且通常存在手动配置部分,环境维护成本很高; 环境因素导致集成测试不稳定、不可靠、反馈慢,测试失败不易定位问题,同时还会重复测试隔离组件已经测过的功能。 集成测试成为了持续交付的瓶颈,犹如鸡肋。因此,最新一期ThoughtWorks技术雷达建议企业暂缓搭建企业级集成测试环境,而是采用增量的方式发布
大多数公司在部署网站或软件时都会使用预生产环境,以便在向用户推出最新的变更之前对它们进行测试。虽然这样做带来了一些好处,比如增加了进一步发现问题和 Bug 的防御线,但也会增加成本和复杂性,并产生相反的效果。随着持续交付技术等技术的发展,团队借助这些技术手段确保软件总是可部署的,于是从复杂的分支结构和测试环境转移到更简单的基础设施的趋势开始形成。Squeaky 是一家在不侵犯用户隐私的情况下帮助企业了解用户如何访问他们的网站或 Web 应用程序的公司,它采用了不一样的做法,并解释了为什么他们不使用 Staging 环境。他们相信这有助于他们更快地发布产品,并减少生产环境中的 Bug。
来源 | https://github.com/wizardbyron/principlesofchaos_zh-cn/
应用部署是软件开发中重要的一环,保持快速迭代、持续部署,减少变更和试错成本,对于互联网公司尤为重要。本文将从部署系统的角度,介绍知乎应用平台从无到有的演进过程,希望可以对大家有所参考和帮助。
机器学习技术正在令我们的生活发生日新月异的变化。对于学术界来说,科研人员的工作往往止步于原型算法的研制。然而,在真实的工业生产场景下,将原型机器学习算法部署到应用程序中又是一项充满挑战的课题。
如果在上图每列的技术栈上花费一个月左右的话,那么我们现在处于第 4 个月。基于前文的学习,我们已经知道了如何配置将要运行代码的服务器基础架构、如何正确地对代码进行版本管理、如何将代码打包以备部署。今天我们要讨论如何部署代码。
由于部署工作中的很多步骤根本没有在试运行环境上测试过,所以常常遇到问题。比如,文档中漏掉了一些重要的步骤,文档和脚本对目标环境的版本或配置作出错误的假设,从而使部署失败。部署团队必须猜测开发团队的意图。
CI/CD 的核心概念是持续集成、持续交付和持续部署。它是作为一个面向开发和运营团队的解决方案,主要针对在集成新代码时所引发的问题(也称为:“集成地狱”)。
DevOps 是一种使单个团队能够处理整个应用程序生命周期(包括开发、测试、发布、部署、操作、显示和规划)的做法。它是术语“Dev”(用于开发)和“Ops”(用运维)的混合。借助 DevOps,我们可以加快企业交付应用程序和服务的速度。亚马逊、Netflix和其他企业都有效地采用了DevOps来改善客户体验。
来源:https://pixabay.com/images/id-3859549/
Android 内存安全工具是一个可帮助您提升应用质量和安全性的综合工具包。通过本文您可以了解到我们推出的各种内存安全工具及其使用场景,以及了解如何通过这些工具来找到并修复问题。
“系统-管理员”的比例通常粗略的作为了解大规模服务中管理成本的指标。在低自动化水平的服务中这个比例可能低到2:1,而在行业领先的高度自动化的服务中,这个比例可以达到2500:1。在微软的众多服务之中,Autopilot经常被认为是Windows Live Search团队成功提高“系统-管理员”比的原因。自动化管理非常重要,但更重要的还是服务本身。服务是否能高效的进行自动化?是否是运维友好的(operations-friendly)?运维友好的服务几乎不需要人工的干预,除了极个别的故障外其他情况都可以被自动的检测并恢复。本文总结MSN和Windows Live在支撑一些超大型服务过程中多年积累下来的最佳实践。
业界领导者认为CI / CD是应用程序开发周期的重要组成部分,因为企业渴望缩短产品上市时间。持续集成和持续交付有助于改善和提高产品质量,同时降低项目成本。该博客将帮助您了解CI / CD管道的功能,其挑战和好处。在开始详细讨论之前,让我们看一下基本术语。
而单体应用拆分成微服务,就需要有一套方案来组装这些微服务,使其成为可协作运行的微服务架构。该方案就是持续集成。
本指南适用于: 你在科技领域就职,是产品经理或者MBA。你的团队玩 A/B 测试,特性切换,你办公室里还有一条狗。 当然,你已经理解啥是功能分支,什么是 CD 以及 DevOps 文化是什么样子。对不?嗯,当然。 你已经走在敏捷的路上,工程团队现在每周都跟你的产品人员会面,讨论故事和迭代。他们协作良好,对构建的东西感觉也越来越好。 可你的客户仍然不能更快的获得这些功能。 你仍然得等着发行列车离开车站。你已经听到过像Esty, Flickr, Google 等这些公司每天能交付100次,他们咋做到的呢? 你
编辑手记:对于资深的老DBA们,他们在漫长的职业生涯中养成了很多稀奇古怪的守则,以在复杂多变的环境中“幸存”,这源于无数血泪的教训,我曾经在《数据安全警示录》一书收录了大量现实案例,现在整理分享给大家
本文已存放在 https://github.com/wizardbyron/principlesofchaos_zh-cn 上,欢迎来 PR
领取专属 10元无门槛券
手把手带您无忧上云