jenkins在构建shell脚本时可以实时输出结果,但是在构建python脚本时,是等到python执行完成以后,才显示结果,这个对于我们判断脚本执行状态非常不利 这里介绍一种方法,能够实时显示python的输出. 也就是用python -u python脚本 使用python --help查看-u功能 -u     : unbuffered binary stdout and stderr; 也就是禁用输入输出的缓存,直接输出.python默认是有缓存的.…
前言 在用python做自动化测试时,我们写好代码,然后需要执行才能得到测试报告,这时我们可以通过 Jenkins 来进一步完成自动化工作. 借助Jenkins,我们可以结合 Git/SVN 自动拉取代码,可以设置定时构建,接着就可以定时触发执行脚本,得到并查看测试报告,最后还可以配置发送邮件等. 今天我们就来学习下,如何结合 Git/SVN 自动拉取代码,通过构建来自动执行python脚本输出测试报告. Jenkins创建Job 新建一个自由风格的项目 登录Jenkins后,选择新建任务,新建…
1.使用Jenkins创建一个工程,工程主要配置项参照下图,其他配置项恢复默认 2.工程配置完成之后,点击[立即构建],执行完成后进入到控制台查看是否执行成功.…
操作很简单: * 最新版本的Jenkins,插件管理中下载两个python需要的插: * 重启Jenkins 任务中添加python脚本即可,点击保存时候,自动会在下图中目录生成.py文件 过程如下 * 插件: * python脚本: * 保存后生成的脚本: * 如果保存后没有生成脚本,说明你的目录权限不够,或者Jenkins版本不是最新 * 注意:如果xampp或者Jenkins安装在c盘,很可能出现权限不够导致不能成功保存脚本…
Jenkins执行python写的selenium自动化脚本,通常会遇到,执行打不开浏览器,查看jenkins构建Console Output控制台输出信息,发现脚本是执行了的,但是出错了,打开浏览器出现问题,原因呢,是因为我们window安装的jenkins默认会产生一个window服务:那怎么解决这个问题呢. 1.先在控制面板-->管理工具-->服务:中找到Jenkins服务,-->属性,停止和禁用该服务. 有人会说了,你把服务停止了jenkins怎么用啊,别急,听笔者一一道来. 2…
最近开始学Python,按照网上的教程,写了一个Python脚本下载Jenkins并运行的脚本,很简单. 首先使用vi命令编辑一个新文件auto_built_jenkins.py(关于vi的使用可以见前期的文章) 脚本如下: # coding = utf-8 import os import sys print('auto deploy Jenkins script') if os.getuid()==0: pass else: print 'current user is not root ,…
jenkins服务器使用python脚本rabbitmqadmin和shell对目标服务器进行管理 准备工作: .jenkins服务器,安装rabbitmqadmi命令 rabbitmqadmin管理脚本下载地址:https://raw.githubusercontent.com/rabbitmq/rabbitmq-management/v3.7.8/bin/rabbitmqadmin 直接将python脚本拷贝到 /usr/bin/rabbitmqadmin下,赋权 chmod +x /usr…
刷新cdn的流程:jenkins获取git中的代码,触发脚本推送到生产环境中(即cdn的源站) --> 触发脚本获取git工作目录的更新列表,将更新列表拼凑成带域名信息的url,写入到目录中 --> 触发python脚本读取目录中的url发送给akamai的api进行cdn的刷新 参考文档创建client api,此次我们的账号没有创建client api的权限,需要管理员处理文档地址:https://developer.akamai.com/api/getting-started#befor…
目录 1.Jenkins安装 2.Jenkins启动脚本 3.节点配置 4.任务配置 5.集成HTML测试报告 1.Jenkins安装 操作环境:Ubuntu jenkins针对windows,ubuntu,MacOS平台都提供了安装包,但是个人觉的还是没有通用Java包(.war)好用.下载地址:https://jenkins.io/download/ .启动方式: java -jar jenkins.war 启动成功后,在浏览器地址栏中输入:http://localhost:8080/ .然…
之前章节提到过powershell,如果需要构建复杂的任务时,使用cmd不是很方便(也可能是由于笔者不太熟悉cmd命令,这里见笑了),这时候powershell就派上用场了,这里并不详细介绍powershell脚本,如果有需要以后另开章节讲解powershell基本命令,powershell面向对象编程,powershell脚本调试,C#编写powershell cmdlet,powershell相关工具等.本篇主要介绍如何在Jenkins环境中运行powershell命令. 目前主要有两种方法…
功能:用websocket技术,在运维工具的浏览器上实时显示远程服务器上的日志信息 一般我们在运维工具部署环境的时候,需要实时展现部署过程中的信息,或者在浏览器中实时显示程序日志给开发人员看.你还在用ajax每隔段时间去获取服务器日志?out了,试试用websocket方式吧 我用bottle框架,写了个websocket服务端,浏览器连接到websocket server,再用python subprocess获取远程服务器的日志信息,subprocess,就是用Popen调用shell的sh…
Jenkins构建完成之后运行脚本可以杀掉TomCat但是起不来的解决方法 写了一个重启tomcat的脚本,让jenkins编译.打包.发布时调用.在本地写好重启tomcat的脚本后,本地执行脚本没有问题,但在远程服务器上SSH免密登录执行后.发现可以把TOMCAT杀死,但tomcat却起不来.试了很多次发现都是只能够杀掉Tomcat但是启动不起来. 百度了一下,有人说脚本远程运行的话,远程会话结束以后会把这个子进程干掉.也就是说当Jenkins远程执行完这个脚本之后,这个脚本所衍生的所有子进程…
功能:用websocket技术,在运维工具的浏览器上实时显示远程服务器上的日志信息 一般我们在运维工具部署环境的时候,需要实时展现部署过程中的信息,或者在浏览器中实时显示程序日志给开发人员看.你还在用ajax每隔段时间去获取服务器日志?out了,试试用websocket方式吧 我用bottle框架,写了个websocket服务端,浏览器连接到websocket server,再用python subprocess获取远程服务器的日志信息,subprocess,就是用Popen调用shell的sh…
jenkins上配置robotframeworkride自动化脚本任务 编写好的自动化脚本,集成在jenkins上进行自动运行于监控,这里采用分布式构建,在一台slave上进行任务构建与自动化脚本的运行. 步骤: 1.创建jenkins任务 选择创建一个自由风格的任务     2.选择执行自动化脚本的slave机.(slave节点的配置参考)   图1     图2   etl-Suite.txt是自动化脚本     图3         Hi All, </br> <font colo…
jenkins结合supervisor进行python程序发布后的自动重启 项目背景: 通过jenkins发布kvaccount.chinasoft.com站点的python服务端程序,业务部门同事需要每次发布完成须后自动重启python服务端 具体执行中遇到的问题: 代码的目录是apache的属主权限,通过jenkins远程调用脚本,强制关闭服务进程,再次启动进程,发现程序能正常重启,但是会夯住,导致jenkins发布job没法结束,想到supervisor都能没有tty的情况下管理程序,于是…
齿轮发出咔嚓一声,向前进了一格.而一旦向前迈进,齿轮就不能倒退了.这就是世界的规则. 0x01背景 造了个轮子:御剑师傅的ipintervalmerge的Python版本.觉得打印的提示信息如果是普通格式显示的话,有些LOW,就想要打印颜色字符,于是有了这篇学习笔记. 0x02 原理及格式 原理: Shell的字符颜色是由转义字符控制的,是系统的输出格式,与具体的编程语言无关.也就是说无论使用何种编程语言,只要按照Shell的输出格式打印输出,就会得到想要的效果. 格式: \033[n1;n2;…
一.开始的话 使用python简单的实现websocket服务器,可以在浏览器上实时显示远程服务器的日志信息. 之前做了一个web版的发布系统,但没实现在线看日志,每次发布版本后,都需要登录到服务器上查看日志,非常麻烦,为了偷懒,能在页面点几下按钮完成工作,这几天查找了这方面的资料,实现了这个功能,瞬间觉的看日志什么的,太方便了,以后也可以给开发们查日志,再也不用麻烦运维了,废话少说,先看效果吧. 二.代码 需求:在web上弹出iframe层来实时显示远程服务器的日志,点击stop按钮,停止日志…
1.准备环境 # 系统支持的话,下面的目录就会存在 ls /proc/sys/fs/inotify/ rpm -qa inotify-tools yum -y install inotify-tools 2.inotifywait监控目录状态变化 /usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e delete,create,close_write /data # 可以把时间去掉 /usr/bin/…
在notepad++中编写了一个脚本(如图一),在cmd命令行界面中运行却发现显示的中文不正确(如图2).图3显示的是cmd界面的默认编码. 解决方案:将脚本的注释语言改为GBK,编码格式改为ANSI(如图4所示).再打开cmd运行python脚本即可正确显示中文(如图5). 虽然试过改cmd的编码为utf-8,但是发现在cmd中输入数字显示不了,不知道是不是个人电脑问题,故不细述此方案.…
参数化构建分支 1.安装插件:Git Parameter 2.找到我们在Jenkins中建立的工程,勾选“参数化构建过程”,并如下配置 3.在“源码管理”中如下配置 Jenkins构建完显示构建用户和构建分支 1.Jenkins上安装两个插件:description setter plugin(user build vars,显示构建账号,我没用到) 2.在Jenkins的系统管理---全局安全配置中找到标记格式器(Mark formatter) 将纯文本设置为 Safe HTML 3.找到我们…
前言: 本文实操笔记参照菠萝笔记,安装过程中的坑大家可以参考下 创建Jenkins容器 # 下载Jenkins镜像 [root@localhost ~]# docker pull jenkins/jenkins # 创建Jenkins挂载到宿主机目录 [root@localhost ~]# mkdir -p /var/jenkins_node # 宿主机挂载目录赋予读写执行权限 [root@localhost ~]# chmod -R 777 /var/jenkins_node # 启动镜像,后…
1.  在linux中安装python后,在linux命令行中输入python即可切换到Python命令行下 退出python命令行的命令: 老版本:ctrl+D 新版本:quit();或exit(); 2.  print ‘hello world!’ == print (“hello world!”) 3.编写一个Python脚本,然后在执行 比如:在文本中输入:print 'hello word!' 然后把此文件保存为py文件,比如:h.py 在linux环境下,先把路径切换到文件存放的路径…
#!bin/bash#功能:使用死循环,实时显示网卡eth0发送的数据包流量#作者:liusingbonwhile : do       echo "本地网卡eth0的数据流量信息如下:"       ifconfig eth0|grep "RX pack"|awk '{print $5}'       ifconfig eth0|grep "TX pack"|awk '{print $5}'       sleep 1done…
今天在 linux 系统下执行一windows下编辑的python脚本,提示(:没有那个文件或目录)英文提示:(:No such file of directory)如下: 查看文件的权限发现并没有问题,有执行权限的: 用vim编辑器打开查看语法也是没有问题的: 于是就到网上寻求帮助,找到了解决的办法: 这里点出了错误提示的根本原因是linux 与 windows 编辑器所用的换行字符不一样所导致的出错.现在把解决的过程编辑出来希望以后面对这样的问题能及时发现并处理. 用vim 打开文件: 有命…
一.基本知识 (1)NuGet : NuGet是一个为大家所熟知的Visual Studio扩展,通过这个扩展,开发人员可以非常方便地在Visual Studio中安装或更新项目中所需要的第三方组件,同时也可以通过NuGet来安装一些Visual Studio的插件等.作为一名开发人员,您可能也会开发一些公共组件以供他人使用,本文将一步步介绍如何以最简单的方式将自己所开发的类库包发布到nuget上,以供更多的人使用[1]. (2)ProGet: 非常优秀的库创建服务器,用于放置packages.…
一.基本知识 (1)NuGet : NuGet是一个为大家所熟知的Visual Studio扩展,通过这个扩展,开发人员可以非常方便地在Visual Studio中安装或更新项目中所需要的第三方组件,同时也可以通过NuGet来安装一些Visual Studio的插件等.作为一名开发人员,您可能也会开发一些公共组件以供他人使用,本文将一步步介绍如何以最简单的方式将自己所开发的类库包发布到nuget上,以供更多的人使用[1]. (2)ProGet: 非常优秀的库创建服务器,用于放置packages.…
某互联网后台自动化组合测试框架RF+Sikuli+Python脚本 http://www.jianshu.com/p/b3e204c8651a 字数949 阅读323 评论1 喜欢0 一.**RobotFramework 1.**工具介绍:Robotframework在测试中作为组织测试用例和BDD关键字的平台,主要使用RIDE进行管理,它不是一个工具,而仅仅是一个框架,使用Python进行开发,同时支持WEB测试(Selenium).Java GUI 测试,启动线程.终端.SSH等.支持BDD…
举例有一个Python脚本叫test.py,现在想要在Java里调用这个脚本.假定这个test.py里面使用了拓展的包,使得pythoninterpreter之类内嵌的编译器无法使用,那么只能采用java调用控制台进程,即 Runtime.getRuntime().exec(),来运行这个python脚本.在windows下运行这个程序,假如是参考了一些百度来的被转载了无数遍的文章,很有可能运行结果是根本没有执行这个脚本.经过测试,在java中执行如下代码可以成功运行test.py文件: <pr…
最近由于项目自动化构建的需要,研究了下gradle调用脚本并传参的用法,在此作个总结. Pre build.gradle中定义了$jenkinsJobName $jenkinsBuild两个Jenkins变量,意图将gradle中的这两个值传到shell/python脚本中去用 def jenkinsBuild = System.getenv("BUILD_NUMBER") ?: "0" println "jenkinsBuild is set to $j…
1.前提是:windows已经配置好Python的环境变量: 2.进入cmd命令行模式: **输入python命令,检测是否环境配置好:显示这样说明配置环境变量没问题 **用cd命令进入Python脚本所在的目录: **Python脚本所在目录下输入命令:python "这里直接把python脚本拖拽过来"  后边加参数: **脚本的代码问题可能导致,cmd命令行下运行脚本后没有任何反应,所以务必检查脚本正确: **这里要说明的是可以使用print()函数逐行检测代码,输出对应的参数:…