- 博客(30)
- 资源 (7)
- 收藏
- 关注
原创 docker容器网络通信原理-单宿主机场景
一、场景同一台宿主机上的多个docker容器各自拥有独立的network namespace,这些容器都有一套独立的网络栈(网卡、回环设备、路由表、iptables规则),那么这些容器是如何通信的?二、关于网桥要实现多个使用不同网络栈的容器能够互相通信,就需要有一个交换机把他们关联起来,网桥就扮演了交换机的角色。网桥是一个工作在数据链路层的设备,根据MAX地址学习将数据包转发到网桥的不同端口上。docker项目会在宿主机上创建一个名称为docker0的网桥,例如:容器使用Veth P
2022-05-06 15:03:47
690
原创 使用python修改文件内容
一、概述大家都知道linux的一些命令例如sed、awk可以实现对文件内容的修改,那么python能否实现类似的功能?最近刚好工作上有处理文件内容的需求,所以研究了一下python在处理文件内容方面的功能。二、在指定的关键字前/后插入内容在指定的关键字前后插入内容是一个比较常见的需求,我们来看下怎么实现。先看一个很简单的例子,其实个人觉得有时候我们做一些复杂的功能,碰到有些逻辑想不明白的时候,可以把环境简化一些,用最简单的demo来帮助自己理解,是比较有效的一个实践。def te.
2020-10-19 21:06:24
1154
1
原创 kubernetes-节点的移除和加入
一、概述在实际使用kubernetes集群的过程中,我们会涉及到集群的扩/缩容,也就是增减集群的节点。二、给集群添加节点比如我们要给集群里面增加一个节点A,ip是192.168.1.100, 要做以下这些操作:step1:给节点192.168.1.100 安装kubectl / kubeadm / kubelet docker nfs-utils安装之前确认自己的kubernetes版本号:在集群的master上执行[root@scm-master ~]# k..
2020-09-22 21:38:04
1919
原创 kubernetes-StorageClass介绍
一、StorageClass概述StorageClass 为管理员提供了描述存储 "类" 的方法,实现了存储的动态供给,简单来说,StorageClass能够根据pvc来自动创建pv,减轻了集群管理员创建pv的负担。创建一个StorageClass需要以下几部分provisioner:StorageClass能够自动创建pv的前提是我们给StorageClass指定一块可以使用的存储,provisioner即定义了StorageClass使用哪块存储。 RBAC: 这里定义了StorageCl
2020-09-20 20:51:15
1711
原创 kubernetes-RBAC介绍
一、概述RBAC: Role-Based Access Control,基于角色的权限控制。从kubernetes1.6版本起,RBAC成为kubernetes默认的访问控制策略。RBAC主要包含以下概念:Role:角色,角色定义了一组权限的集合,例如只读权限,读写权限Subject:主体,主体是角色,可以是用户,也可以是ServiceAccount,在实际使用中,主体通常是ServiceAccount。RoleBinding:定义了角色和主体之间的绑定关系。关系图:.
2020-09-20 17:21:26
443
转载 crontab详解
简介linux crontab是用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。而linux任务调度的工作主要分为以下两类:1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮...
2019-10-15 10:22:58
220
原创 redis集群搭建
一、概要redis集群部署可以选择多台服务器部署多个实例,也可以选择单台服务器部署多个实例。两者的部署方式基本相同,本文主要介绍单台多实例部署,也会介绍多机多实例部署。二、环境搭建1.环境说明服务器IP地址 :192.168.1.103实例端口:192.168.1.103:6379,192.168.1.103:6380,192.168.1.103:6381,192.168....
2019-05-03 14:52:43
185
转载 redis配置文件详解
原文地址:https://blog.youkuaiyun.com/zwc2xm/article/details/78663075bind 0.0.0.0#绑定的主机地址,不设置默认将处理所有请求protected-mode yes# 3.2里的参数,是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。要是开启了密码 和b...
2019-05-03 14:10:40
693
原创 jacoco统计代码覆盖率实践
jacoco的原理就不进行介绍了,网上资料也比较多,大家可以看看。原理写的比较好的是这篇,可惜图没了:https://blog.youkuaiyun.com/gc_cg/article/details/53172053不扯没用的,直接开始:一、环境说明:(为了避免暴露公司真实的数据,文中出现的ip和文件路径为笔者虚拟的,但是并不影响大家阅读与实践,请大家谅解。)tomcat一台:192...
2019-04-27 16:10:34
1057
原创 MFS(moosefs)搭建
一、简介:mfs是一个分布式文件系统,直白点讲就是linux的共享文件夹。本篇主要介绍mfs的部署安装,具体原理大家可以上官网进行更多的了解:https://moosefs.com环境介绍:192.168.20.11 -----mfsmaster && mfschunkserver192.168.20.12 && 192.168.20.13 ...
2019-04-07 21:51:51
1662
2
原创 kafka集群搭建
kafka有自带的zookeeper,但是使用上容易遇到一些问题,还是推荐大家单独搭建zookeeper官方文档:http://kafka.apache.org/documentation/一、环境说明准备三台集群机器172.16.10.11 (kafkabrokerid:0 zookeeperid:1)172.16.10.12 (kafkabrokerid:1zookeep...
2019-04-01 16:18:47
207
转载 Kafka入门--原理篇
转载自:https://blog.youkuaiyun.com/zwgdft/article/details/54633105写得真的不错~在RabbitMQ下的生产消费者模式与订阅发布模式一文中,笔者以“数据接入”和“事件分发”两种场景为例,介绍了如何使用RabbitMQ来设计、实现生产消费者模式与订阅发布模式。生产消费者模式,指的是由生产者将数据源源不断推送到消息中心,由不同的消费者从消息中心取出...
2019-03-31 19:12:16
165
原创 jenkins权限管理
介绍一下企业实践中实用的jenkins权限管理策略。权限限制的基本思路:按照团队进行权限划分,不同团队只能操作自己业务线对应的job,团队内成员对同一业务线job的操作权限也不同,根据团队内成员的角色来进行划分(例如测试员、测试经理)公司的jenkins数据不方便拿出来,这里我用我本机的jenkins做一个示例。一、下载jenkins插件二、进入系统管理-全局安全设置...
2019-03-10 16:08:53
425
原创 gitlab备份与恢复
记录一下,以免忘记,也希望能给到大家一些小小的帮助~一、备份本文的gitlab是基于docker启动的,如果是非docker启动,备份方式也基本没有区别首先进入容器:docker exec -it 容器id bash执行命令:gitlab-rake gitlab:backup:create等待完成即可,备份完成后文件位置如下:容器内:/var/opt...
2019-02-24 18:30:17
237
原创 生成微信小程序二维码
最近接到产品的需求,要求给公司的小程序生成二维码。由于中间遇到一些坑,希望写篇博客帮助大家避开这些坑,同时也是自己做个记录。一、参看微信小程序二维码api文档:地址:https://developers.weixin.qq.com/miniprogram/dev/api/getWXACodeUnlimit.html内容大致如下: getWXACodeUnlimit本...
2019-02-16 13:14:50
2610
2
原创 jenkins构建后自动改变jira上issue的状态
最近碰到一个需求,大致是这样:jenkins的job在构建之后要求将jira上面某个缺陷的状态变为待验证。这篇博客就仅仅针对这个需求写一下实现的方式,后续会写博客来具体介绍python+jira的操作。下面来说说实现方式思路: step1.使用shell获取gitlab上的提交信息,与开发人员约定,修复BUG的提交,需要在commit信息中包含BUG ID,标记...
2018-10-09 19:58:01
3358
2
原创 chromedriver与chrome版本的对应关系
chromedriver下载地址:http://chromedriver.storage.googleapis.com/index.html如果有帮到你,麻烦帮我点个赞,让我开心一下,谢谢~----------ChromeDriver v2.34 (2017-12-10)----------Supports Chrome v61-63Resolved issue 2025: I...
2018-09-27 13:34:54
579
原创 docker命令笔记
最近在搞devops,服务docker化,在这里记录一下常用的docker相关的命令~有不对的地方,请大家指正,谢谢~持续更新中~基于我自己对docker的理解简单介绍一下docker的概念:docker简单来说就是新一代的虚拟机,主要有三个概念:1.仓库,仓库的作用是存储docker镜像,有公共仓库和私有仓库。2.镜像,可以理解为windows的安装镜像,我理解为一种静态...
2018-09-26 15:35:56
196
原创 git命令
最近在学习git,这边整理一下学习笔记,有不对的地方欢迎大家指正。各处${...}表示实际使用中需要填写的参数一、tag相关tag即给当前的代码版本打上标签进行区分,我理解为版本管理。git获取指定tag的版本1.git clone ${gitUrl}2.git checkout ${tagName}获取当前的taggit tag -l给当前代码版本打tag...
2018-09-25 13:17:47
183
原创 Openstack swift搭建过程中的常见问题与解决方法
一、概要近期因项目需要,使用Ubuntu 16.04版本的服务器搭建Openstack swift,期间遇见了一些问题,部分问题的解决方法在网上还比较难找,于是开篇博客记录一下这些问题,如果能帮到正在找寻答案的朋友,那就更好了。需要搭建这个环境的朋友,可以参考这篇博客:http://www.cnblogs.com/fczjuever/archive/2013/05/11/3073151.h
2018-02-04 18:08:46
2074
原创 linux sed命令使用小结
最近在学习sed,工作中遇到的一些实际使用的场景,开篇博客记录一下免得以后忘记,不定期更新中~如果大家也正好在学的,那就一起学习下~需求1:向文件中特定字符的上一行追加另一个文件的内容:语句:sed -ie '/parameter/{h;s/.*/cat 48105config.xml/e;G}' sedtest.txtparameter是sedtest.txt中的最后一行4810
2018-01-28 17:43:04
628
原创 linux系统如何停止父进程
一、问题描述 看到linux服务器上一个服务总是起不来,于是用netstat看了一下端口是否被占用,结果显示进程的端口8835确实被占用,但是我把这个进程杀掉之后,再看了一下端口占用的情况,发现8835端口依然被占用,占用该端口的进程仍然存在,并且换了一个进程号。于是考虑到是有父进程存在,导致这个占用端口的子进程无法简单地通过kill进程号来杀除。二、解决过程先来看看进程占
2018-01-24 14:11:35
2946
1
转载 linux系统开启ftp服务
如何在linux下开启FTP服务1. 首先服务器要安装ftp软件,查看是否已经安装ftp软件下: #which vsftpd 如果看到有vsftpd的目录说明服务器已经安装了ftp软件2. 查看ftp 服务器状态 #service vsftpd status3. 启动ftp服务器 #service vsftpd sta
2018-01-15 12:10:47
5661
原创 SeleniumWebdriver参数化详解
一、Selenium参数化介绍这篇博客主要给大家介绍下Selenium WebDriver如何实现参数化并且应用到实际的自动化测试工作中。简单说下参数化:参数化的自动化测试是这样的一个框架,从某个数据文件(例如ODBC源文件、Excel文件、Csv文件、ADO对象文件等)中读取输入、输出的 测试数据,然后通过变量传入事先录制好的或手工编写的测试脚本中。其中,这些变量被用作传递(
2018-01-02 23:07:46
12475
原创 老版本appium解决需要手动安装AppiumSettings、Unlock、AndroidInputManager的问题
一、问题描述 新老版本的appium-desktop都存在部分机型需要手动安装AppiumSettings、Unlock、AndroidInputManager的问题,目前笔者在小米、vivo手机上碰到过这个问题,如果每次需要手动确认安装这些组件,基本上无法正常开展自动化。本篇博客是针对老版本的appium(版本号1.4.x),至于新版的appium-desktop(版本号1.6.x+)类似问题的
2018-01-02 14:21:44
4041
3
原创 appium解决每次运行都需要安装Unlock以及AppiumSetting的问题
一、需要解决的问题在部分android机型上每次运行最新版的appium-desktop都需要安装AppiumSetting以及Unlock,并且安装过程需要用户手动来确认,即使测试机上已经安装了这两个组件,运行appium也会要求安装,对于测试以及脚本的调试来说非常不便。二、解决过程进入appium的安装目录:C:\Users\Administrator\AppD
2017-12-26 12:52:27
27766
16
原创 【Mac】解决jenkins执行shell脚本等场景中遇见的权限不足问题
一、问题描述在Mac上使用jenkins的过程里,执行某些shell脚本时出现报错,查看报错信息发现是当前用户没有权限删除某个文件夹导致的。于是在网上搜了很多资料,发现可用的是少之又少,于是自己写篇博客总结一下如何在OSX操作系统中修改jenkins的默认用户二、步骤①打开终端terminal②停止jenkins:launchctl unload /Library/
2017-12-18 13:01:30
11733
原创 ant+jenkins+testNG自动化测试环境搭建
一、为什么搭建这个环境jekins作为持续集成的利器使用已经越来越广泛,并且实际的工作场景中存在着无人监守自动化测试以及集群测试的需求,仅仅只靠selenium Webdriver开展UI自动化测试渐渐觉得力不从心,我们需要更加有效地解决方案了。之前看过一些ant+jekins+testNG环境搭建的博客,觉得对于新手朋友来说,有一些坑没有揭示出来,本文主要面向新手朋友,比较啰嗦,请见谅。
2017-08-27 16:26:44
2122
原创 selenium+java自动化测试环境搭建介绍
一、关于seleniumselenium是开源的自动化测试工具,分为selenium1,selenium2,本文主要介绍selenium2-即selenium webdriver的环境搭建步骤Selenium WebDriver支持多种语言:C、java、ruby、python等,本文使用的是java语言,其他语言的环境搭建方式略有差异,可以查阅相应的教程。以下是搭建环境需要用到的所有...
2017-07-09 16:18:24
23913
3
appium-desktop-Setup-1.2.7.exe
2017-12-26
wxPython2.8-win64-unicode-2.8.12.1-py27.exe
2017-10-27
wxPython2.8-win32-unicode-2.8.12.1-py27.exe
2017-10-27
pywin32-220.win32-py2.7-64位
2017-10-27
pywin32-220.win32-py2.7-32位
2017-10-27
32位robotframework-ride-1.2.2.win32.exe
2017-10-26
poi-3.6-20091214.jar&poi;-ooxml-3.6-20091214.jar
2017-10-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人