jenkins 调用 脚本命令 svn co 报错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins 调用 脚本命令 svn co 报错相关的知识,希望对你有一定的参考价值。
参考技术A 1.更改svn 用户名密码后,修改Jenkins工作空间中的svn 命令后,使用jenkins执行脚本报错。错误:
1)依然用的之前的用户名密码
2)工作副本不存在
但是直接在服务器上执行脚本,就没有问题(用的root用户)
后改用Jenkins用户手动执行一遍后,再使用jenkins服务器就可以了,怀疑每个用户有一个svn 的缓存用户,目前没找到在哪里记录的。
Jenkins执行svn update报错
在Jenkins Pipeline脚本里面,执行sh:
svn update
报错信息:
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Updating '.':
svn: E000022: Error converting entry in directory '***' to UTF-8
svn: E000022: Can't convert string from native encoding to 'UTF-8':
svn: E000022: U+9875U+9762-1-1-U+706FU+5149.png.meta
查了一圈下来,没有能直接解决我的问题的答案,故在此记录一下。
查找【svn: E000022: Can't convert string from native encoding to 'UTF-8'】,得到的结果都是设置export LC_ALL=en_US.UTF-8,或者export LC_ALL=zh_CN.UTF-8。
添加进去,还是报上面问题。
有看到一个文档,查询本地的local信息:
locale -a
得到结果:
C
C.UTF-8
POSIX
可以看到,我这个docker容器下确实是没有en_US、zh_CN的。
改成本地有的,是不是就可以了呢?
export LC_ALL=C.UTF-8
把上面脚本插入到sh的svn update前面,脚本运行不报错,svn可以正常拉取更新。问题解决!
以上是关于jenkins 调用 脚本命令 svn co 报错的主要内容,如果未能解决你的问题,请参考以下文章