标签:
持续集成平台接入扫描作业是一项繁琐而又需要细致的工作,于是趁着闲暇时间,将代码扫描作业用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()
将以上的文件保存在C:\zzPythonTest目录下,文件名为“auto.py”。
有了以上的步骤,还是不够方便嘛,还要进入控制台进行Python程序的解释运行,这完全可以用批处理来代替。
批处理文件内容如下:
@echo off cd C:\zzPythonTest python auto.py pause
之后每次只需要点击auto.bat文件就可以达到效果啦~
查看E盘,果然建立了E:\jenkins\workspace\CHECKSTYLE目录:
打开build.xml文件,果然达到了预期的效果:
总结:
标签:
原文地址:http://www.cnblogs.com/helloIT/p/5115108.html