DevOps в Alexx DevOps Services
  • Автоматичний деплой Rails на AWS EC2 через GitHub Actions + rsync + Docker Compose

    Дякую всім за коментарі — корисна дискусія!

    Після обговорення вніс кілька змін у пайплайн:

    Перейшов з 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 хв після білду.