我正在开发一个Jenkins应用程序和管道,以测试Apex代码,并将其从Bitbucket存储库部署到Salesforce。到目前为止,我已经设法将我的存储库与我的Jenkins环境进行了通信。我的Jenkins实例在我的公司笔记本电脑的Windows 10上运行,我已经达到了本指南中的最后一步:https://medium.com/@r.kurchenko/setup-continuous-integration-based-on-salesforcedx-c9f461c4db03
我现在试图解决的问题是,在推送到我的存储库时,尽管管道启动了,但它甚至没有到达构建步骤,并给出了以下错误消息:
Started by an SCM change
Started by an SCM change
Running as SYSTEM
Building in workspace C:\JenkinsHome\workspace\sfdx-ci-force-push-build
The recommended git tool is: NONE
No credentials specified
> git.exe rev-parse --resolve-git-dir C:\JenkinsHome\workspace\sfdx-ci-force-push-build\.git # timeout=10
Fetching changes from the remote Git repository
> git.exe config remote.origin.url {repositoryURL} # timeout=10
Fetching upstream changes from {repositoryURL}
> git.exe --version # timeout=10
> git --version # 'git version 2.35.1.windows.2'
> git.exe fetch --tags --force --progress -- {repositoryURL} +refs/heads/*:refs/remotes/origin/* # timeout=10
> git.exe rev-parse "refs/remotes/origin/master^{commit}" # timeout=10
Checking out Revision ee36df199b17d11bd7a8a020239dab1abafc5e6e (refs/remotes/origin/master)
> git.exe config core.sparsecheckout # timeout=10
> git.exe checkout -f ee36df199b17d11bd7a8a020239dab1abafc5e6e # timeout=10
Commit message: "Changes"
> git.exe rev-list --no-walk ccf77e05e663dac6e1e32d2614ead22962da557b # timeout=10
FATAL: Unable to produce a script file
java.nio.charset.UnmappableCharacterException: Input length = 1
at java.base/java.nio.charset.CoderResult.throwException(CoderResult.java:275)
at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:306)
at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:281)
at java.base/sun.nio.cs.StreamEncoder.write(StreamEncoder.java:125)
at java.base/java.io.OutputStreamWriter.write(OutputStreamWriter.java:208)
at java.base/java.io.BufferedWriter.flushBuffer(BufferedWriter.java:120)
at java.base/java.io.BufferedWriter.close(BufferedWriter.java:268)
at hudson.FilePath$CreateTextTempFile.invoke(FilePath.java:1660)
at hudson.FilePath$CreateTextTempFile.invoke(FilePath.java:1630)
at hudson.FilePath.act(FilePath.java:1200)
at hudson.FilePath.act(FilePath.java:1183)
at hudson.FilePath.createTextTempFile(FilePath.java:1624)
Caused: java.io.IOException: Failed to create a temp file on C:\JenkinsHome\workspace\sfdx-ci-force-push-build
at hudson.FilePath.createTextTempFile(FilePath.java:1626)
at hudson.tasks.CommandInterpreter.createScriptFile(CommandInterpreter.java:202)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:120)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:92)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:814)
at hudson.model.Build$BuildExecution.build(Build.java:199)
at hudson.model.Build$BuildExecution.doRun(Build.java:164)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:522)
at hudson.model.Run.execute(Run.java:1896)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
at hudson.model.ResourceController.execute(ResourceController.java:101)
at hudson.model.Executor.run(Executor.java:442)
Build step 'Execute shell' marked build as failure
Finished: FAILURE
最初,我认为这可能是一个权限错误,因为我不是笔记本电脑的管理员,我的Jenkins实例的主目录位于我的用户文件中,但是在将目录更改到其他地方之后,我仍然会得到相同的错误。我想这可能是java.nio.charset.UnmappableCharacterException: Input length = 1
异常,但是,在彻底研究了它之后,我无法确定在Jenkins的拉操作中在哪里执行了这个操作,以及是否有一种方法可以解决它。
我将非常感谢关于什么可能导致这一问题的任何线索或信息。
发布于 2022-08-23 13:47:03
我通过设置非Unicode程序的语言来解决这个问题:启动->设置、->时间和语言、->语言、->管理语言设置。行政标签。
截图
发布于 2022-09-15 04:49:37
如果你在窗户上查詹金斯。我用以下方法解决了问题
JAVA_TOOL_OPTIONS
因为Jenkins 2.361.1 (LTS)。它使用系统默认编码(Windows = x-windows-874)读取jenkinsfile。
https://stackoverflow.com/questions/72618126
复制相似问题