使用jenkins参数化构建工程,python2.7执行maven install命令,在执行其中某一个工程的时候出现错误。
maven build fontal-base start
Traceback (most recent call last):
File "/usr/local/application/plugins/build/svnbuild.py", line 104, in <module>
build.start()
File "/usr/local/application/plugins/build/svnbuild.py", line 94, in start
mvn_result = self.mvn_build()
File "/usr/local/application/plugins/build/svnbuild.py", line 73, in mvn_build
result = command.execute(cmd)
File "/usr/local/application/plugins/build/command.py", line 17, in execute
output = util.byte_str_list(output)
File "/usr/local/application/plugins/build/util.py", line 37, in byte_str_list
result = result.decode('gbk').strip('\n')[:-1]
UnicodeDecodeError: 'gbk' codec can't decode bytes in position 30-31: illegal multibyte sequence
Build step 'Execute shell' marked build as failure
Finished: FAILURE
仔细检查应该是字符集的问题,python的中文字符集问题看来是最烦人的。
将代码改成,问题解决
result = result.decode('utf-8').strip('\n')[:-1]