Pratik
Pratik

Reputation: 1216

No space issue Jenkins - in docker

I am running Jenkins inside docker. i receive the following space issue.

gzip: /tmp/sbt_a74fec8a/xoquick-1.0.tar.gz: No space left on device
java.lang.RuntimeException: Error gziping /tmp/sbt_a74fec8a/xoquick-1.0.tar. Exit code: 1
    at scala.sys.package$.error(package.scala:27)
    at com.typesafe.sbt.packager.universal.Archives$.gzip(Archives.scala:93)
    at com.typesafe.sbt.packager.universal.Archives$$anonfun$9.apply(Archives.scala:111)
    at com.typesafe.sbt.packager.universal.Archives$$anonfun$9.apply(Archives.scala:111)
    at com.typesafe.sbt.packager.universal.Archives$$anonfun$makeTarball$1.apply(Archives.scala:136)
    at com.typesafe.sbt.packager.universal.Archives$$anonfun$makeTarball$1.apply(Archives.scala:118)
    at sbt.IO$.withTemporaryDirectory(IO.scala:285)
    at com.typesafe.sbt.packager.universal.Archives$.makeTarball(Archives.scala:118)
    at com.typesafe.sbt.packager.universal.Archives$$anonfun$10.apply(Archives.scala:111)
    at com.typesafe.sbt.packager.universal.Archives$$anonfun$10.apply(Archives.scala:111)
    at scala.Function3$$anonfun$tupled$1.apply(Function3.scala:35)
    at scala.Function3$$anonfun$tupled$1.apply(Function3.scala:34)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42)
    at sbt.std.Transform$$anon$4.work(System.scala:64)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
    at sbt.Execute.work(Execute.scala:244)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
[error] (universal:packageZipTarball) Error gziping /tmp/sbt_a74fec8a/xoquick-1.0.tar. Exit code: 1
[error] Total time: 7 s, completed Feb 5, 2015 9:41:58 AM
Build step 'Build using sbt' changed build result to FAILURE
Build step 'Build using sbt' marked build as failure
SSH: Current build result is [FAILURE], not going to run.
Finished: FAILURE

In docker I navigated to /tmp folder

cd /tmp/

and then

df -h .

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/docker-253:2-18350588-5a4c880a0e55c5b8a78ca16e7ef7fbedb7559cf07b3e249f81b88809901cca72
                  9.9G  9.1G  316M  97% /

I have sufficient place left inside.Why is the job failing to work?

i have checked this http://www.ivankuznetsov.com/2010/02/no-space-left-on-device-running-out-of-inodes.html

No issue with inode also.There is sufficient inodes available.Can somebody tell me what is the problem?

Upvotes: 0

Views: 3741

Answers (1)

Andy
Andy

Reputation: 17791

Jenkins jobs can typically consume more that ~300m of space with all build artefacts, whatever you upload to your Docker container, the size of your version control checkout etc.

Add this to root's crontab to clean old containers periodically. Enter sudo crontab -e to edit:

SHELL=/bin/bash
@daily  (echo "Cleaning Docker images at $(date):"; docker rm $(docker ps -a -q); docker rmi $(docker images | grep '<none>' | tr -s ' ' | cut -d ' ' -f 3)) &>> /var/log/dockerClean.log

(you could substitute adding the SHELL line for 2>&1 > /var/log/dockerClean.log if you prefer sh, or omit it and make no change if bash is default on your system)

Upvotes: 1

Related Questions