오늘 회사에서 가상서버의 서버시간을 바꿔보려고 시도했다.

리눅스(CentOS)에 설치된 패키지(yum)을 업데이트를 해줬다. (참고로, 업데이트는 되었는데 미국시간에서 한국서버시간으로 바꾸는 것은 어려워서 포기했다.) (yum은 맥의 brew와 비슷한 거라고 생각하면 된다.)

그 뒤에 한 프로젝트의 코드를 수정하고 젠킨스를 통해 빌드를 실패했다.

1. 에러메세지

FATAL: Could not initialize class sun.nio.fs.LinuxNativeDispatcher
java.lang.NoClassDefFoundError: Could not initialize class sun.nio.fs.LinuxNativeDispatcher
	at java.base/sun.nio.fs.LinuxFileSystem.getMountEntries(LinuxFileSystem.java:81)
	at java.base/sun.nio.fs.LinuxFileStore.findMountEntry(LinuxFileStore.java:75)
	at java.base/sun.nio.fs.UnixFileStore.<init>(UnixFileStore.java:69)
	at java.base/sun.nio.fs.LinuxFileStore.<init>(LinuxFileStore.java:49)
	at java.base/sun.nio.fs.LinuxFileSystemProvider.getFileStore(LinuxFileSystemProvider.java:51)
	at java.base/sun.nio.fs.LinuxFileSystemProvider.getFileStore(LinuxFileSystemProvider.java:39)
	at java.base/sun.nio.fs.UnixFileSystemProvider.getFileStore(UnixFileSystemProvider.java:373)
	at java.base/java.nio.file.Files.getFileStore(Files.java:1488)
	at org.eclipse.jgit.util.FS$FileStoreAttributes.getFileStoreAttributes(FS.java:362)
	at org.eclipse.jgit.util.FS$FileStoreAttributes.get(FS.java:346)
	at org.eclipse.jgit.util.FS.getFileStoreAttributes(FS.java:913)
	at org.eclipse.jgit.internal.storage.file.FileSnapshot.<init>(FileSnapshot.java:226)
	at org.eclipse.jgit.internal.storage.file.FileSnapshot.<init>(FileSnapshot.java:207)
	at org.eclipse.jgit.internal.storage.file.FileSnapshot.save(FileSnapshot.java:104)
	at org.eclipse.jgit.internal.storage.file.FileRepository.<init>(FileRepository.java:205)
	at org.eclipse.jgit.lib.BaseRepositoryBuilder.build(BaseRepositoryBuilder.java:625)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.getRepository(CliGitAPIImpl.java:3407)
	at hudson.plugins.git.GitAPI.getRepository(GitAPI.java:288)
	at org.jenkinsci.plugins.gitclient.AbstractGitAPIImpl.withRepository(AbstractGitAPIImpl.java:28)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.withRepository(CliGitAPIImpl.java:84)
	at hudson.plugins.git.GitSCM.printCommitMessageToLog(GitSCM.java:1386)
	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1352)
	at hudson.scm.SCM.checkout(SCM.java:540)
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1241)
	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:649)
	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:85)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:521)
	at hudson.model.Run.execute(Run.java:1900)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
	at hudson.model.ResourceController.execute(ResourceController.java:107)
	at hudson.model.Executor.run(Executor.java:449)
[DeployPublisher][INFO] Build failed, project not deployed
[WARN] Not a WorkflowRun, onCompleted won't be propagated to listeners
Finished: FAILURE

이게 젠킨스에서 나온 오류이다.

대충 구글링을 한 결과 JDK, 자바를 다시 재설치를 하라는 것이였다.

아…안된다 이놈들아!

그런 거추장스런 일을 하기 싫다.

2. 해결

그러다가 어떤 외국인의 답변을 보게 되었다.

answer

한 번 해보기로 했다.

프로젝트가 빌드 되어있는 장비에 들어가서

systemctl restart jenkins

이 명령어를 입력하였다.

그리고 다시 젠킨스에 들어가서 빌드 버튼을 눌렀더니!

어예~~ 됬다~~~

smile

Comments