- Buat github action yml, keep-3-version.yml
name: 3 Version Keep Daily Image Cleanup
on:
schedule:
- cron: '02 02 * * *'
workflow_dispatch:
jobs:
ghcr-cleanup-image:
name: ghcr keep only several tag and keep 3 version
runs-on: self-hosted
steps:
- name: Delete old images
uses: dataaxiom/ghcr-cleanup-action@v1
with:
token: ${{ secrets.GHCR_CLEANUP_PAT }}
owner: your-org
packages: 'repo-1,repo-2,repo-3,repo-4'
#so it will keep main, latest, development, dev-test
#it remove untagged image
#if you use semantic, it will keep 3 latest version
exclude-tags: main,dev*,latest
keep-n-tagged: 3
delete-untagged: true
delete-partial-images: true
dry-run: false
Untuk token, buat “Tokens (classic)”, dengan scopes
a.
repo:semuab.
write:packagesc:
read:packagesd.
delete:packagesuntuk action manual (workflow_dispatch), bakal muncul jika sudah push
.ymlke branch default repo
