Skip to content

Commit

Permalink
Add cleanup script to manage build agent disk space
Browse files Browse the repository at this point in the history
  • Loading branch information
mvines authored and garious committed Jun 19, 2018
1 parent 6aced92 commit 85b6e72
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 0 deletions.
4 changes: 4 additions & 0 deletions ci/buildkite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,7 @@ steps:
- command: "ci/publish-crate.sh"
timeout_in_minutes: 20
name: "publish crate"
- command: "ci/hoover.sh"
timeout_in_minutes: 20
name: "clean agent"

54 changes: 54 additions & 0 deletions ci/hoover.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#!/bin/bash
#
# Regular maintenance performed on a buildkite agent to control disk usage
#

echo --- Delete all exited containers first
(
set -x
exited=$(docker ps -aq --no-trunc --filter "status=exited")
if [[ -n "$exited" ]]; then
docker rm "$exited"
fi
)

echo --- Delete untagged images
(
set -x
untagged=$(docker images | grep '<none>'| awk '{ print $3 }')
if [[ -n "$untagged" ]]; then
docker rmi "$untagged"
fi
)

echo --- Delete all dangling images
(
set -x
dangling=$(docker images --filter 'dangling=true' -q --no-trunc | sort | uniq)
if [[ -n "$dangling" ]]; then
docker rmi "$dangling"
fi
)

echo --- Remove unused docker networks
(
set -x
docker network prune -f
)

echo "--- Delete /tmp files older than 1 day owned by $(whoami)"
(
set -x
find /tmp -maxdepth 1 -user "$(whoami)" -mtime +1 -print0 | xargs -0 rm -rf
)

echo --- System Status
(
set -x
docker images
docker ps
docker network ls
df -h
)

exit 0

0 comments on commit 85b6e72

Please sign in to comment.