Перейшов з self-hosted runner на ubuntu-latest — головна проблема self-hosted була в тому, що білд падав якщо Docker Desktop не запущений на моєму Mac. GitHub-hosted runner вирішує це повністю, Docker там завжди є.
Прибрав linux/arm64 з білду — EC2 t3.micro це amd64, arm64 там просто не потрібен. Час білду скоротився з ~20 хв до ~5-8 хв.
Додав concurrency — при новому пуші попередній білд автоматично скасовується, хвилини не витрачаються даремно. Актуально бо GitHub Free дає 2000 хв/місяць на приватні репо.
Щодо Docker remote context (Володимир) — цікавий підхід, але поки влаштовує поточна схема з GHCR: образ будується в Actions, пушиться в реєстр, сервер тільки робить docker pull. Деплой займає ~1 хв після білду.
Дякую всім за коментарі — корисна дискусія!
Після обговорення вніс кілька змін у пайплайн:
Перейшов з self-hosted runner на ubuntu-latest — головна проблема self-hosted була в тому, що білд падав якщо Docker Desktop не запущений на моєму Mac. GitHub-hosted runner
вирішує це повністю, Docker там завжди є.
Прибрав linux/arm64 з білду — EC2 t3.micro це amd64, arm64 там просто не потрібен. Час білду скоротився з ~20 хв до ~5-8 хв.
Додав concurrency — при новому пуші попередній білд автоматично скасовується, хвилини не витрачаються даремно. Актуально бо GitHub Free дає 2000 хв/місяць на приватні репо.
Щодо Docker remote context (Володимир) — цікавий підхід, але поки влаштовує поточна схема з GHCR: образ будується в Actions, пушиться в реєстр, сервер тільки робить docker pull. Деплой займає ~1 хв після білду.