Travis CI

4招了解前端单元测试

自作多情 提交于 2020-07-26 23:34:44
随着每个工程的复杂化、代码的高复用性要求和前端代码模块之间的高内聚低耦合的需求,前端工程中的单元测试流程就显得很有其必要。 1.前端单元测试是什么 首先我们要明确测试是什么: 为检测特定的目标是否符合标准而采用专用的工具或者方法进行验证,并最终得出特定的结果。 对于前端开发过程来说,这里的特定目标就是指我们写的代码,而工具就是我们需要用到的测试框架(库)、测试用例等。检测处的结果就是展示测试是否通过或者给出测试报告,这样才能方便问题的排查和后期的修正。 基于测试“是什么”的说法,为便于刚从事前端开发的同行的进阶理解,那我们就列出单元测试它“不是什么”: 需要访问数据库的测试不是单元测试 需要访问网络的测试不是单元测试 需要访问文件系统的测试不是单元测试 --- 修改代码的艺术 对于单元测试“不是什么”的引用解释,至此点到为止。鉴于篇幅限制,对于引用内容,我想前端开发的同行们看到后会初步有一个属于自己的理解。 2.单元测试的意义以及为什么需要单元测试 2.1 单元测试的意义 对于现在的前端工程,一个标准完整的项目,测试是非常有必要的。很多时候我们只是完成了项目而忽略了项目测试的部分,测试的意义主要在于下面几点: TDD(测试驱动开发) 被证明是有效的软件编写原则,它能覆盖更多的功能接口。 快速反馈你的功能输出,验证你的想法。 保证代码重构的安全性,没有一成不变的代码

DevOps 工程师实际上是做什么的

╄→尐↘猪︶ㄣ 提交于 2020-05-08 04:09:58
DevOps 工程师实际上是做什么的? 我们之前已经讨论过许多关于DevOps和DevOps世界的最新趋势了。但是DevOps工程师到底是做什么的? DevOps工程师以最纯粹的方式 弥合了软件开发和运维团队之间的差距 ,以提高软件的交付率。 DevOps工程师带来了什么? 传统的软件开发流程是软件开发人员花费数周和数月编写代码,然后将代码交给QA团队进行测试,然后将最终的发布版交给运维团队去布署。所有的这三个阶段,即开发,测试,布署,之间缺乏协作。 开发者编写代码然后交给布署团队。现在由布署团队来解决代码布署过程中出现的问题,或将代码交给开发团队以修复bug。所有这些都导致软件开发过程变慢。 但是在DevOps模式下,这三个团队将不再相互隔离。大多数时候,这三个团队将合并成一个团队,工程师会在整个应用程序生命周期中工作,从开发和测试到布署到操作,并开发出一系列不限于单一功能的技能。安全团队也可以在整个应用程序生成周期中和开发和运维更紧密的合作。 为什么DevOps工程师的角色会有所不同? DevOps工程师并不是一件新鲜事。它是一类工程师的统称,如系统工程师,自动化构建工程师,软件工程师,Linux工程师等等。 然而,DevOps工程师的工作性质因组件而异。在某些情况下,他们的工作是基础设施的自动化和维护。有些组件将他们的工作扩展到整个交付链。 DevOps工程师的角色各不相同

[转帖]国内拉取google kubernetes镜像

 ̄綄美尐妖づ 提交于 2020-05-05 14:11:04
国内拉取google kubernetes镜像 2019年04月19日 01:19:03 willblog 阅读数 4231 标签: kubernetes 更多 个人分类: kubernetes 版权声明:本文为博主原创文章,转载请注明出处。 https: // blog.csdn.net/networken/article/details/84571373 感谢原作者. 前言 国内可访问的镜像仓库 Docker Hub镜像仓库 https://hub.docker.com/ 阿里云镜像仓库: https://cr.console.aliyun.com RedHat镜像仓库: https://access.redhat.com/containers 国内无法访问的镜像仓库 google镜像仓库: https://console.cloud.google.com/gcr/images/google-containers/GLOBAL coreos镜像仓库: https://quay.io/repository/ 临时解决方法: 在部署kubernetes集群时,需要从google镜像仓库获取kubernetes组件相关镜像,以及从coreos仓库获取flannel网络插件等镜像,但dockerhub或阿里云仓库基本能够搜索到他人上传的包含这2个仓库中的镜像

Git系列教程

孤者浪人 提交于 2020-04-13 08:18:14
【重学Git】整理提交记录 【重学Git】高级命令篇 【重学Git】基础命令篇 github pages与travis ci运作原理 用命令行撤销工作区的所有更改(修改文件&&新增文件) 配置Gitlab pages和Gitlab CI 谈下git的基本操作 出处: https://www.cnblogs.com/zhangnan35/category/1403332.html 来源: oschina 链接: https://my.oschina.net/u/4374260/blog/3231879

NutUI 3.0 中单元测试的探索和实践

无人久伴 提交于 2020-03-23 20:36:34
3 月,跳不动了?>>> 众所周知,单元测试功能,是组件库开发中必不可少的一部分,负责进行检查和验证,保证了组件的合理性和规范性。本文主要讲的就是单元测试在 NUTUI 组件库 中的探索实践,我们将从如何编写单元测试、持续集成服务、Coveralls 自动测试代码覆盖率三方面进行阐述。如图所示: 如果你对这些内容感兴趣,就和我一起来看一下吧! 单元测试配置 在进入单元测试配置正文之前,我们先来了解下面两个问题。 单元测试是什么? 为什么需要单元测试? 单元测试是什么? 单元测试(unit testing),可以对软件中的最小可测试单元进行检查和验证,是软件开发中重要的一部分。它使得添加新功能和追踪问题更加容易。 为什么需要单元测试? 单元测试在开发的时候很有用,即能帮助开发者思考如何设计一个组件,也能够重构一个现有组件。每次代码发生变化的时候它们都会被运行。有了单元测试,我们可以自信的交付自己的代码,而没有任何的后顾之忧。 组件的单元测试有以下等优点: 提供描述组件行为的文档 减少调试时间,节省手动测试的时间 减少研发新特性时产生的 bug,测出功能的隐藏 bug 减少和快速定位 bug 促进重构,保证代码重构的安全性 如何编写单元测试? 我们既是单元测试的受益者,同时也是开发者,接下来我们进入正题,来聊一聊,如何在 vue 组件库中,加入单元测试。

NutUI 3.0 中单元测试的探索和实践

懵懂的女人 提交于 2020-03-20 22:58:48
3 月,跳不动了?>>> 众所周知,单元测试功能,是组件库开发中必不可少的一部分,负责进行检查和验证,保证了组件的合理性和规范性。本文主要讲的就是单元测试在 NUTUI 组件库 中的探索实践,我们将从如何编写单元测试、持续集成服务、Coveralls 自动测试代码覆盖率三方面进行阐述。如图所示: 如果你对这些内容感兴趣,就和我一起来看一下吧! 单元测试配置 在进入单元测试配置正文之前,我们先来了解下面两个问题。 单元测试是什么? 为什么需要单元测试? 单元测试是什么? 单元测试(unit testing),可以对软件中的最小可测试单元进行检查和验证,是软件开发中重要的一部分。它使得添加新功能和追踪问题更加容易。 为什么需要单元测试? 单元测试在开发的时候很有用,即能帮助开发者思考如何设计一个组件,也能够重构一个现有组件。每次代码发生变化的时候它们都会被运行。有了单元测试,我们可以自信的交付自己的代码,而没有任何的后顾之忧。 组件的单元测试有以下等优点: 提供描述组件行为的文档 减少调试时间,节省手动测试的时间 减少研发新特性时产生的 bug,测出功能的隐藏 bug 减少和快速定位 bug 促进重构,保证代码重构的安全性 如何编写单元测试? 我们既是单元测试的受益者,同时也是开发者,接下来我们进入正题,来聊一聊,如何在 vue 组件库中,加入单元测试。

怎么开发并发布一个可用的 JavaScript 模块 ?

风流意气都作罢 提交于 2020-03-13 01:20:10
Javascript 那么流行,作为一个前端开发者,或者前端入门者,发布一个正式可用的 Javascript 模块,对于自己来说应该成长很大。下面就以一个简单的 Javascript 模块 filesize.js 来介绍 github、travis-ci、npm 这些内容的组合使用。 一、目标概览 本文将使用 filesize.js 这个作为介绍,这个是一个非常简单的 js 库,总共代码也不到 20 行,但是功能完善,可以生产使用。事实上 npm 上有不少简单到几行代码搞定的模块。 首先发布一个 js 模块,肯定需要时代码开源,所以必须使用到 Github 作为代码管理。发布到 npm 能不能不开源呢,当然可以,但npm install 得到之后就是你的源码。 发布一个 js 模块,需要让别人使用,良好的测试必不可少(很多项目有下图的绿色小图标),所以需要给你的项目写完善的测试用例(testcase),然后利用 Github 上第三方的 ci 工具来执行, travis-ci 就是其中一个用的比较多的。 代码测试完毕,没有任何问题之后,可以 npm 发布模块了。 我们 filesize.js 达到的效果就是这样的: 并且可以直接 npm install filesize.js 安装下载。下面分别介绍说明。 二、Github 项目初始化 首先在 Github 上创建项目

MaxCompute 2.0复杂数据类型之array

社会主义新天地 提交于 2019-12-18 22:50:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 之前我们介绍过 在 PyODPS DataFrame 中使用三方包 。对于二进制包而言,MaxCompute 要求使用包名包含 cp27-cp27m 的 Wheel 包。但对于部分长时间未更新的包,例如 oss2 依赖的 crcmod,PyPI 并未提供 Wheel 包,因而需要自行打包。本文介绍了如何使用 quay.io/pypa/manylinux1_x86_64 镜像制作可在 MaxCompute 上使用的 Wheel 包。 本文参考 https://github.com/pypa/manylinux ,quay.io/pypa/manylinux1_x86_64 镜像也是目前绝大多数 Python 项目在 Travis CI 上打包的标准工具,如有进一步的问题可研究该项目。 准备依赖项 不少包都有依赖项,例如 devel rpm 包或者其他 Python 包,在打包前需要了解该包的依赖,通常可以在 Github 中找到安装或者打包的相关信息。对于 crcmod,除 gcc 外不再有别的依赖,因而此步可略去。 修改 setup.py 并验证(建议在 Mac OS 或者 Linux 下) 较旧的 Python 包通常不支持制作 Wheel 包。具体表现为在使用 python setup.py bdist

配置Travis CI成功构建后自动上传Pypi

社会主义新天地 提交于 2019-12-05 02:37:23
前置准备 在Pypi网站生成API token 开始配置travis 在codebase的配置文件.travis.yml中添加相关配置。 deploy: provider: pypi user: __token__ password: secure: <secured-string> skip_existing: true distributions: "sdist bdist_wheel" skip_cleanup: true on: tags: true 从前置准备中获取到了API token,在deploy.password中可以直接粘贴,但是不推荐直接明文配置到yaml文件中。 需要使用travis cli进行加密。 根据需要进行 skip_existing 、 distributions 、 on.tags 配置,而travis deployment pypi时, skip_cleanup: true 是必加项。 Travis for Pypi deployment 安装travis cli 可以直接参考 官方说明安装 使用travis cli encrypt travis encrypt <api-token> --add deploy.password -r <repository-name> --org travis cli会在codebase的.travis

给 DevOps 初学者的入门指南

荒凉一梦 提交于 2019-11-30 23:14:05
当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及文化和组织等等概念。那么,到底什么是"DevOps"呢? ##什么是DevOps 随着软件发布迭代的频率越来越高,传统的「瀑布型」(开发—测试—发布)模式已经不能满足快速交付的需求。2009 年左右 DevOps 应运而生,简单地来说,就是更好的优化开发(DEV)、测试(QA)、运维(OPS)的流程,开发运维一体化,通过高度自动化工具与流程来使得软件构建、测试、发布更加快捷、频繁和可靠。 关于 DevOps 是什么,DevOps 的合著者 John Willis 写了一个非常好的帖子,在 这里 . Devops 的好处与价值 在 2016 DevOps 新趋势调查报告 显示,74% 的公司在尝试接受 DevOps,那么 Devops 有哪些好处与价值呢? 代码的提交直接触发:消除等待时间,快速反馈 每个变化对应一个交付管道:使问题定位和调试变得简单 全开发流程高效自动化:稳定,快速,交付结果可预测 持续进行自动化回归测试:提升交付质量 设施共享并按需提供:资源利用最大化 以上可以看出,DevOps 的好处更多基于在于持续部署与交付,这是对于业务与产品而言。而 DevOps 始于接受 DevOps 文化与技术方法论,它是部门间沟通协作的一组流程和方法,有助于改善公司组织文化、提高员工的参与感。 #