panjianm 发表于 2018-1-7 17:26:23

jenkins 如何处理windows batch command

  这两天一直被一个问题困扰。
  在jenkins的windows batch command 测试好的,拿到bat文件中,再从Execute Windows Batch command 中调用这个bat,竟然离奇的报错了。
  为什么呢?
  先介绍一下场景和代码的逻辑。测试好的代码:
  

CD %ROOTPATH%  .\Tools\Bin\Python26\python.
  

exe .\Tools\PythonScripts\SendMail.py %AUTOBUILD_PATH%\Charts mail@mail.com "Test" Config_AutoTest_AutoShooting*.png AutoShootingIndex.htm   

  其实 AUTOBUILD_PATH 是一个路径,以"\" 为分隔符,准确来说,在python而言,是一个raw的路径字符串。 SendMail会去这个路径下walk,或者listdir,找到文件并读取后处理发邮件给mail@mail.com
  报错信息:
https://images0.cnblogs.com/blog/316363/201411/071405367216856.jpg
  在网上,看到关于这个多出来的*.* 的解释:
  http://bbs.chinaunix.net/thread-3577853-1-1.html这篇文章介绍的不错,看了下大概明白了问题。
  但是,如何解决我的问题,而我的问题关键,又是如何产生的呢?
  我试过如果os.listdir 如果传入的参数是 raw字符串的"\", 则是成功的,我找到这个,试图将path 转换成raw字符串。结果测试不能通过。
  http://code.activestate.com/recipes/65211-convert-a-string-into-a-raw-string/
  看来估计是jenkins 搞的鬼。
页: [1]
查看完整版本: jenkins 如何处理windows batch command