Python实现扫描作业配置自动化

持续集成平台接入扫描作业是一项繁琐而又需要细致的工作,于是趁着闲暇时间,将代码扫描作业用Python代码实现了配置自动化。

每次配置作业的过程中,都会在checkcode1或者checkcode3上 E:\jenkins\workspace\CHECKSTYLE目录下建立一个对应的文件夹,将build.xml文件放进去,然后将规范扫描安全脚本中作业名称进行3次替换。这个过程常常被弄错,或者被遗忘。

但是,有了下面的脚本,一切都不是问题。

先看流程图:

Python代码如下:

 1 #!usr/bin/python
 2 # -*- coding:utf-8 -*-
 3 # Filename:auto.py
 4
 5 import os
 6
 7 print(‘请输入作业名称(默认“_CODE”结尾,无须再输入_CODE):‘)
 8 input_user=input()
 9 print(‘确认么?(y/n)‘)
10 commit = input()
11
12 while  0==len(input_user) or (commit!=‘y‘ and commit!=‘Y‘):
13     print(‘请输入作业名称(默认“_CODE”结尾,无须再输入_CODE):‘)
14     input_user=input()
15     print(‘确认么?(y/n)‘)
16     commit = input()
17 #打桩,输出作业名字
18 print(‘你输入的作业名是:%s‘%(input_user))
19
20 #准备好相应的资源
21 jobName=input_user+‘_CODE‘
22 jobName_upper=jobName.upper()
23 jobName_lower=jobName.lower()
24
25 #如果文件目录不存在,就创建文件目录
26 dest_dir=‘E:‘+os.sep+‘jenkins‘+os.sep+‘workspace‘+os.sep+‘CHECKSTYLE‘+os.sep+input_user.lower()
27 if not os.path.exists(dest_dir):
28     os.makedirs(dest_dir)
29     print(‘成功创建目录%s‘%(dest_dir))
30 else:
31     print(‘目录%s已存在,可直接操作‘%(dest_dir))
32
33 #拼接字符串。注:实际中拼接字符串比这复杂,这里简化只是为了演示方便。
34 str_1=‘<xml>\n‘
35 str_2=‘\t<djfldfl>‘+jobName_upper+‘</djfldfl>\n‘
36 str_3=‘\t<ad>dlfkl</ad>\n‘
37 str_4=‘</xml>\n‘
38 list=[str_1,str_2,str_3,str_4]
39
40 #写入到文件中
41 f = open(dest_dir+os.sep+‘build.xml‘, ‘w‘)
42 f.writelines(list)
43 print(‘写入build.xml完毕‘)
44 f.close()

Python代码

将以上的文件保存在C:\zzPythonTest目录下,文件名为“auto.py”。

有了以上的步骤,还是不够方便嘛,还要进入控制台进行Python程序的解释运行,这完全可以用批处理来代替。

批处理文件内容如下:

@echo off
cd C:\zzPythonTest
python auto.py
pause

批处理文件

之后每次只需要点击auto.bat文件就可以达到效果啦~

查看E盘,果然建立了E:\jenkins\workspace\CHECKSTYLE目录:

打开build.xml文件,果然达到了预期的效果:

总结:

  1. 对容错的判定算法调整了很久才调到这个比较合理的结构。确认是非常必要的一步,因为“智者千虑,必有一失”。
  2. 创建多级目录时,本来采用的是循环创建目录的方式,后来查询到了一个简洁而强大的API,就是makedirs()。
  3. 此功能用java也能实现,但是用Python的好处在于简洁有力。假如用java实现这样一个功能,java代码量几乎是Python的两倍还多。
  4. 此功能只利用了Python中最基础的知识,甚至都没有使用类和对象。这是因为Python在这里处理的仅仅是流程,故不用OO的写法(其实还夹杂着笔者对C语言的怀念,毕竟C语言是笔者接触的第一门计算机语言)。
时间: 2024-08-03 00:31:34

Python实现扫描作业配置自动化的相关文章

Python学习day5作业-ATM和购物商城

Python学习day5作业 Python学习day5作业 ATM和购物商城 作业需求 ATM: 指定最大透支额度 可取款 定期还款(每月指定日期还款,如15号) 可存款 定期出账单 支持多用户登陆,用户间转帐 支持多用户 管理员可添加账户.指定用户额度.冻结用户等 购物车: 商品信息- 数量.单价.名称 用户信息- 帐号.密码.余额 用户可充值 购物历史信息 允许用户多次购买,每次可购买多件 余额不足时进行提醒 用户退出时 ,输出当次购物信息 用户下次登陆时可查看购物历史 商品列表分级显示 1

python基础周作业

python基础周作业 1.执行python脚本的两种方法 脚本前面直接指定解释器 在脚本开始前声明解释器 2.简述位,字节的关系 每一个字节占用八个比特位 3, 简述ascii.unicode.utf- ‐8.gbk的关系 utf--‐8 <-- unicode <-- gbk <-- ascii 按此方向兼容 4..请写出"李杰"分别用utf- ‐8和gbk编码所占的位数 "李杰" 占用utf -8 占6字节 , gbk 占用4字节 5.pyt

python操作oracle数据库环境配置

1. 下载安装cx_oracle安装包 Python操作Oracle数据库,首先需要安装cx_Oracle包,下载地址如下:   http://cx-oracle.sourceforge.net/    http://sourceforge.net/projects/cx-oracle/files/5.1.2/ 本系统采用的是CentOS5.x系列的操作系统,python版本是2.4,于是下载支持python2.4版本的安装包. 2. 下载oracle客户端,是oracle官方网站下载. 下载对

Python安装及环境配置

一直很喜欢玩爬虫,之前利用Java写了几个自己的小型爬虫,爬取了不少相亲信息. 想要学习Python已许久,在研究爬虫的时候,看到比较多的还是Python的例子,后来一研究发现,在国外其实Python还是很有使用市场的. 下载安装 Python下载网址:https://www.python.org/ 由于是国外网站,所以可能打开比较费力.百度软件也有相关Python的版本下载,更新还是比较及时的. 地址:http://rj.baidu.com/soft/detail/17016.html?ald

python标准库configparser配置解析器

1 >>> from configparser import ConfigParser, ExtendedInterpolation 2 >>> parser = ConfigParser(interpolation=ExtendedInterpolation()) 3 >>> # the default BasicInterpolation could be used as well 4 >>> parser.read_string

Atitit.python&#160;web环境的配置&#160;attilax&#160;总结

Atitit.python web环境的配置 attilax 总结 1. 下载modpython/1 1.1. 安装python2.5.11 1.2. 安装modpython1 2. 设置py文件的url请求器2 3. www/py/t.py2 4. 访问url  http://localhost/py/t.py/handler2 5. 高级知识2 5.1. 原生(native)mod_python处理器 2 5.2. 那么mod_python到底做了些什么呢?3 6. 参考5 1. 下载mod

windows+Python+virtualenv 环境配置

virtualenv是Python中常用的虚拟环境.可以理解为属于Python的虚拟机. 在Linux和Mac系统上,virtualenv环境是很方便配置的,但是在windows平台上比较麻烦,记录下来和大家分享. 安装 Python 注:本次配置的Python版本是 2.7.X,也就是老版本,新版本Python 3.X 有一些库不支持,所以没有使用. window下Python 2.7.x的配置就不多说,网上资料很多,可以参见这里.只是下载时候下载 2.7.X 版本.同时,切记将Python

windows下 Python 安装包的配置

1.下载安装 Pythonpython-2.7.2.msi  http://www.python.org/download/如下载 Python 2.7.2,安装目录为 C:\Python27 2.添加环境变量path = C:\Python27此步骤可实现在命令行下,不用进入 Python 目录即可执行 python.exe 3.下载 setuptools 注意对应 Python 的版本,完成后运行 exe 即可完成安装 setuptools-0.6c11.win32-py2.7.exehtt

python自动化测试(2)-自动化基本技术原理

python自动化测试(2) 自动化基本技术原理 1   概述 在之前的文章里面提到过:做自动化的首要本领就是要会 透过现象看本质 ,落实到实际的IT工作中就是 透过界面看数据. 掌握上面的这样的本领可不是容易的事情,必须要有扎实的计算机理论基础,才能看到深层次的本质东西. 2   应用软件逻辑结构 数据库应用系统 可能是最典型的网络应用程序了,关于它的软件架构如下: 一般在逻辑上分为4层: 用户界面层 UI 为终端用户提供交互的人机界面 业务逻辑层 BLL 将数据库抽象出来的对象进行拼接成具体