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 报错的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins执行svn update报错

windows平台jenkins调用shell脚本报错

Jmeter+svn+ant+Jenkins

jenkins svn更新源码报错如下:

Jenkins运行python脚本报错

在Jenkins中认证和授权svn的用户名和密码报错,求大神指点