码迷,mamicode.com
首页 > 其他好文 > 详细

用Jenkins Pipeline实现网元日志和配置的导出

时间:2017-09-26 22:27:51      阅读:475      评论:0      收藏:0      [点我收藏+]

标签:参数   dir   我不知道   简单   文件   tag   获取   多选   cti   

整体架构:

Jenkins > PC1 > RobotFramework > NEs_1

             > PC2 > RobotFramework > NEs_2

             > PC3 > RobotFramework > NEs_3

             ....

通过Jenkins控制多台PC,再借助RobotFramework框架实现对网元的自动化测试,使用SSHLibrary等库。

 

Jenkins Pipeline中的代码:

node(pc) {
stage(‘Export_Log_and_Config‘) {
if (test_env == ‘data1‘) {
var_file = ‘C:\\NPTI_CLI\\Case\\Sanity\\topo_var_data1.py‘
} else if(test_env == ‘data2‘) {
var_file = ‘C:\\NPTI_CLI\\Case\\Sanity\\topo_var_data2.py‘
} else if(test_env == ‘system‘) {
var_file = ‘C:\\NPTI_CLI\\Case\\Sanity\\topo_var_system.py‘
} else {
var_file = ‘C:\\NPTI_CLI\\Case\\Sanity\\topo_var_data1.py‘
}
bat "robot --variablefile ${var_file} --variable pause_on_fail:false --variable log_flag:${log_flag} --outputdir C:\\NPTI_CLI\\report --debugfile debug.txt --loglevel DEBUG:INFO C:\\NPTI_CLI\\Case\\tools"
}
}

通过Jenkins Pipeline自带的 bat 命令,实现在windows系统中下发robot命令,启动robotframework。

为了方便配置,其参数有:pc test_env log_flag

参数化构建完成后,其Jenkins界面如下所示:

技术分享

运行结果显示界面:

技术分享

 

在实现过程中,遇到的坑:

1,导出日志的名字,需要包含网元的版本信息,而我们原有的函数cli_export_version,只是将获取的版本信息保存到新建文件中。因此需要根据函数参数,来确定是新建文件,还是单纯的返回版本信息。但我不知道呐,暴露了对python函数参数理解的不到位。

2,为了实现Jenkins Pipeline根据参数,选择不同的PC来执行robotframewok,饶了很大的弯,惊觉node(‘PC1‘) {xxxxx},即为选择PC1来执行该命令,如果node(para) {xxxxxx},即为选择para变量所包含的值来执行该命令。

 

关于python函数参数,简单总结一下:

python函数参数分为以下几类:

1、普通参数

def func1(par1, para2, para3):
    function body

调用函数时,需要将参数按顺序写入。

2、关键字参数

关键字函数在创建函数时和普通参数一样的,只是在调用时有差别。

func(para2=x,para3=y,para1=z)

即可以打乱参数传入的顺序,但是必须指定参数名。

3、缺省参数

def func1(para1,para2="x",para3="o")
    function body

因为参数有初始化值,故在函数调用时,可以将被初始化的参数忽略,只使用未初始化的值。

4、多选项参数

def func2(para1, *para2):
    print para1
    for i in para2:
        print i


func2(10)
输出10

func2(10, 20, 30)
输出10,20,30

如代码所示,在参数前加入*号,既能实现对该参数,输入0个或多个。

 

insist

 

用Jenkins Pipeline实现网元日志和配置的导出

标签:参数   dir   我不知道   简单   文件   tag   获取   多选   cti   

原文地址:http://www.cnblogs.com/hazemaker/p/7598891.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!