เคลียพื้นที่ใน Gitlab-runner server ของเรา

เคลียพื้นที่ใน Gitlab-runner server ของเรา

สำหรับใครที่ติดตั้ง Gitlab-runner server ใช้งานเองแล้วพอใช้ไปสักพัก pipeline เราจะเกิดอาการ error ฟ้องมาว่า no space left on device ให้เดาได้เลยว่า Gitlab-runner พื้นที่น่าจะเต็ม

ลอง ssh เข้าไปยัง Gitlab-runner server ดูเนื้อที่ว่าเต็มจริงไหมด้วยคำสั่ง

$ df -h

ถ้า hdd เต็มให้ลองสั่ง docker system df

เพื่อดูพื้นที่โดยรวมของตัว docker ก่อน ถ้าต้องการเคลียพื้นที่ออกไปให้สั่ง

$ /usr/share/gitlab-runner/clear-docker-cache
$ docker image prune -f

มันจะทำการลบ image และ build cache ที่ไม่ได้ใช้งานออกไป เราลองมาตรวจสอบ docker system df อีกรอบ

จะเห็นว่ามันได้จัดการไปแล้ว :)

คราวนี้เรามาทำ cronjob ให้มันทำงานทุกเดือนกัน ใช้คำสั่งดังนี้

$ cat << _EOF_ > /etc/cron.monthly/gitlab_runner_clear_cache
#!/bin/sh
/usr/share/gitlab-runner/clear-docker-cache
docker image prune -f
_EOF_

$ chmod +x /etc/cron.monthly/gitlab_runner_clear_cache

ทดสอบการทำงาน

$ run-parts -v /etc/cron.monthly

เราจะเห็นการทำงานของ gitlab_runner_clear_cache แสดงผลออกมาแสดงว่าใช้งานได้

Arnon Kijlerdphon

Arnon Kijlerdphon

Board game & Plant-based & Minimalist, it's all my life.
Bangkok, Thailand