0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

JenkinsでTFSソース取得時にエラー(renaming: target file already exists)が発生した際の対応

Last updated at Posted at 2022-10-20

作業の背景

  • TFSからのソースチェックアウト時にエラーが出るようになった
  • パスが長くなりすぎているのが原因のよう
  • ホームディレクトリを変更してパスを短くする

環境

  • Jenkins 2.289.3
  • Team Foundation Server Plug-in 5.157.1
  • Windows Server 2016 Standard

事前作業

  • 現在のホームディレクトリを確認する
    Jenkinsの管理 > システムの設定
    → C:\Windows\system32\config\systemprofile\AppData\Local\Jenkins\.jenkins
  • ディスクサイズを確認する(一時的にホームディレクトリが二重になるため)

作業手順

  1. サービスを停止する
  2. ディレクトリを作成する
    C:\Jenkins-home (任意)
  3. システム環境変数を登録する
    → JENKINS_HOME=C:\Jenkins-home\.jenkins (任意)
  4. ディレクトリのコピー
    .jenkinsディレクトリのサイズ確認
    .jenkinsディレクトリのコピー
    → C:\Jenkins-home.jenkins へ
    .jenkinsディレクトリのリネーム(バックアップ用)
    → 任意の名前
  5. C:\Program Files\Jenkins\jenkins.xmlのリネーム(バックアップ用)
    → 任意の名前
  6. jenkins.xmlの編集
    → JENKINS_HOMEの値を C:\Jenkins-home\.jenkins に変更
  7. サービスを起動する
  8. 設定内容を確認する
    ホームディレクトリが変わっていること
    ビルドが動作すること

後始末

  1. リネームしたバックアップ用.jenkinsディレクトリを削除する

参考

ソース取得時のエラー

Getting version 'C67715' to 'C:\Windows\system32\config\systemprofile\AppData\Local\Jenkins\.jenkins\workspace\xxxxxx\xxx\build@script\48f57227f2edc3230d2dd8ce6bc91878716b4cefe800a55d4de09aa30c3524e5'...
ERROR: Checkout failed
java.lang.IllegalArgumentException: renaming: target file already exists
at com.microsoft.tfs.util.Check.throwForFalse(Check.java:150)
at com.microsoft.tfs.util.Check.isTrue(Check.java:98)
at com.microsoft.tfs.util.temp.TempStorageService.renameItem(TempStorageService.java:347)
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.workers.GetDownloadWorker.moveTempFileToTargetFile(GetDownloadWorker.java:502)
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.workers.GetDownloadWorker.downloadFile(GetDownloadWorker.java:332)
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.workers.GetDownloadWorker.call(GetDownloadWorker.java:157)
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.workers.GetDownloadWorker.call(GetDownloadWorker.java:72)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at com.microsoft.tfs.core.clients.versioncontrol.internal.concurrent.BoundedExecutor$1.run(BoundedExecutor.java:85)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused: com.microsoft.tfs.core.clients.versioncontrol.exceptions.VersionControlException
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.GetEngine.throwIfFatalError(GetEngine.java:2958)
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.GetEngine.processOperationsInternal(GetEngine.java:1142)
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.GetEngine.processOperations(GetEngine.java:957)
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.GetEngine.processGetOperations(GetEngine.java:808)
at com.microsoft.tfs.core.clients.versioncontrol.soapextensions.Workspace.get(Workspace.java:2459)
Caused: java.lang.RuntimeException
at com.microsoft.tfs.core.clients.versioncontrol.soapextensions.Workspace.get(Workspace.java:2470)
at com.microsoft.tfs.core.clients.versioncontrol.soapextensions.Workspace.get(Workspace.java:2341)
at com.microsoft.tfs.core.clients.versioncontrol.soapextensions.Workspace.get(Workspace.java:2331)
at com.microsoft.tfs.core.clients.versioncontrol.soapextensions.Workspace.get(Workspace.java:2308)
at hudson.plugins.tfs.commands.GetFilesToWorkFolderCommand.call(GetFilesToWorkFolderCommand.java:72)
at hudson.plugins.tfs.commands.GetFilesToWorkFolderCommand.call(GetFilesToWorkFolderCommand.java:18)
at hudson.remoting.LocalChannel.call(LocalChannel.java:46)
at hudson.plugins.tfs.model.Server.execute(Server.java:233)
Caused: java.lang.RuntimeException
at hudson.plugins.tfs.model.Server.execute(Server.java:237)
at hudson.plugins.tfs.model.Project.getFiles(Project.java:264)
at hudson.plugins.tfs.actions.CheckoutAction.checkout(CheckoutAction.java:63)
at hudson.plugins.tfs.TeamFoundationServerScm.checkout(TeamFoundationServerScm.java:352)
at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:129)
at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:159)
at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:70)
at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:310)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
ERROR: Maximum checkout retry attempts reached, aborting
Finished: FAILURE

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?