首页 > 解决方案 > 如何在 Jenkins 管道和 Docker 的目录名称中使用带有重音的 Maven 命令?

问题描述

我不明白为什么它不能在我的 Jenkins 上工作时在本地工作(Windows 10),它在 unix 上使用 Docker。

withMaven(globalMavenSettingsConfig: 'empty-global-settings', mavenSettingsConfig: Constants.CONFIG_SETTINGS_ID) {
    sh "pwd"
    sh "ls -lrt"
    sh "ls -lrt /home/jenkins/workspace/myProject"
    sh "ls -lrt /home/jenkins/workspace/myProject/règles"
    sh "$MVN_CMD deploy -X"
}

我的结果是:

+ ls -lrt /home/jenkins/workspace/myProject
total 8
drwxr-xr-x. 2 jenkins root  125 Jul 15 21:32 bom
-rw-r--r--. 1 jenkins root  657 Jul 15 21:32 assembly.xml
drwxr-xr-x. 3 jenkins root   27 Jul 15 21:32 ressources
-rw-r--r--. 1 jenkins root 1492 Jul 15 21:32 pom.xml
drwxr-xr-x. 2 jenkins root   57 Jul 15 21:32 data
drwxr-xr-x. 3 jenkins root   23 Jul 15 21:32 règles
drwxr-xr-x. 3 jenkins root   82 Jul 15 21:32 target
[Pipeline] sh
+ ls -lrt $'/home/jenkins/workspace/myProject/r\303\250gles'
total 0

总计 0但我的文件夹règles不为空

编辑:

我尝试mavenOpts

withMaven(globalMavenSettingsConfig: 'empty-global-settings', mavenSettingsConfig: Constants.CONFIG_SETTINGS_ID, mavenOpts: '-Dfile.encoding=UTF-8') {
 ...
}

标签: dockermavenjenkinsjenkins-pipeline

解决方案


我更改了我的 Docker 映像并且它可以工作。


推荐阅读